博客列表 >composer自动加载,laravel验证码库实例,上框架组件,PHP开发大招!

composer自动加载,laravel验证码库实例,上框架组件,PHP开发大招!

张福根一修品牌运营
张福根一修品牌运营原创
2020年12月18日 16:44:31746浏览

composer自动加载原理,laravel验证码库的使用:

项目规划:

项目规划

一、实例演示类的3种加载方式:

1、传统方式: include require

  1. <?php
  2. // 实例演示类的3种加载方式:
  3. // 1.传统方式: include require
  4. //加载类文件
  5. require_once 'app/controller/User.php';
  6. //给类起别名
  7. use app\controller\User;
  8. echo User::hello();
  9. // 输出:app\controller\User::hello

2、spl_autoload_register:

  1. <?php
  2. // spl_autoload_register — 注册给定的函数作为 __autoload 的实现,
  3. // 实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行。
  4. spl_autoload_register(function($className){
  5. echo $className;
  6. $classFile = __DIR__ .DIRECTORY_SEPARATOR .$className . '.php';
  7. require $classFile;
  8. });
  9. //给类起别名
  10. use app\controller\User;
  11. //调用类成员
  12. echo User::hello();
  13. // 输出:app\controller\Userapp\controller\User::hello

3、composer自动加载类功能:

composer.json加载三种方式:

composer自动加载

  • autoload : files :可以加载任意位置的类文件:

    1. {
    2. "autoload": {
    3. "files": [
    4. "app/controller/User.php",
    5. "lib/Order.php",
    6. "lib/Goods.php"
    7. ]
    8. }
    9. }
  • autoload :classmap 类映射,实现类的批量注册

    1. {
    2. "autoload": {
    3. "classmap": [
    4. "app/controller",
    5. "lib"
    6. ]
    7. }
    8. }
  • autoload : psr-4 类的命名空间与类所在的路径目录进行绑定
    1. {
    2. "autoload": {
    3. "psr-4": {
    4. "app\\controller\\": "app/controller",
    5. "fugen\\": "lib"
    6. }
    7. }
    8. }

    二、laravel验证码库的使用:

安装组件:composer require gregwar/captcha

1、composer.json:

  1. {
  2. "autoload": {
  3. "psr-4": {
  4. "app\\controller\\": "app/controller",
  5. "fugen\\": "lib"
  6. }
  7. },
  8. "require": {
  9. "gregwar/captcha": "^1.1"
  10. }
  11. }

2、组件使用:

  1. <?php
  2. // 举例laravel验证码库的使用 composer require gregwar/captcha
  3. require __DIR__ . '\\vendor\\autoload.php';
  4. //注册类
  5. use Gregwar\Captcha\CaptchaBuilder;
  6. $builder = new CaptchaBuilder;
  7. $builder->build();
  8. $builder->save('yanzhengma.jpg');
  9. ?>
  10. <!DOCTYPE html>
  11. <html lang="en">
  12. <head>
  13. <meta charset="UTF-8">
  14. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  15. <title>laravel验证码库</title>
  16. </head>
  17. <body>
  18. <input type="text" placeholder="请输入验证码">
  19. <img onclick="location.reload()" src="<?php echo $builder->inline(); ?>" />
  20. </body>
  21. </html>

3、效果展示:

laravel验证码

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议