标签: autoloader

自动加载器的功能

上周我学会了通过编写__autoload()函数将类包含在项目中.然后我了解到使用自动加载器不仅是一种技术,也是一种模式.

现在我在我的项目中使用自动加载器,我发现它非常有用.我想知道是否可以用功能做同样的事情.忘记在其中包含正确的PHP文件可能非常有用.

那么,是否可以创建一个功能自动加载器?

php class function autoloader

55
推荐指数
4
解决办法
2万
查看次数

CodeIgniter:"无法加载请求的类"

在我的WAMP框中,我做了以下事情:

  1. 添加了一个名为/application/libraries/Foo.php的文件
  2. Foo.php是一个类,它的名字是 Foo
  3. 在/application/config/autoload.php中,我补充道 $autoload['libraries'] = array('foo');

一切正常.当我上传到我的LAMP框时,我收到以下错误:

Unable to load the requested class: foo

/application/libraries/Foo.php的权限是0755.所有者与其他CI文件相同.以foo从自动加载出来,使问题消失.

什么想法可能是错的?

php codeigniter autoloader

18
推荐指数
1
解决办法
10万
查看次数

为什么在require_once中包含__DIR__?

例如,我总是看到这样的自动加载器:

require_once __DIR__ . '/../vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

有什么区别和更简洁

require_once '../vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

php autoloader

18
推荐指数
2
解决办法
2万
查看次数

使用多个自动加载器PHP

您好我正在尝试使用SILEX微框架和我自己的库充满类,因此我遇到了2个加载器,导致加载器无法加载类的错误..是否有办法同时使用这2个加载器没有收到此错误?

我使用的装载机你可以在下面找到:

    <?php

/*
 * Loader
 */

function my_autoloader($className) 
{
// haal de base dir op.
  $base = dirname(__FILE__);


  // het pad ophalen
  $path = $className;

  // alle paden samenvoegen tot waar ik zijn moet en de phpfile eraan plakken.
  $file = $base . "/lib/" . $path . '.php';       

  // als file bestaat haal op anders error
  if (file_exists($file)) 
  {
      require $file;
  }
  else 
  {
      error_log('Class "' . $className . '" could not be autoloaded');
      throw new Exception('Class "' . …
Run Code Online (Sandbox Code Playgroud)

php autoloader

15
推荐指数
1
解决办法
1万
查看次数

php自动加载器是如何工作的

php类Autoloader是否打开文件并检查类名?我一直在研究它是如何实际实现的.有一件事我知道它的递归?如果我错了请告诉我

如上所述:autoloader简介视图 PHP Autoloader的工作原理

PHP Autoloader在定义的目录中递归搜索类,特征和接口定义.在没有任何进一步配置的情况下,需求文件所在的目录将用作默认类路径.

文件名不需要遵守任何约定.搜索所有文件的类定义.与类名相似或以.php或.inc结尾的文件是首选.如果支持,PHP Tokenizer将用于可靠的类定义发现.

php loader autoloader

12
推荐指数
1
解决办法
6163
查看次数

如何在php代码中调用__autoload()

我是php新手,我想在我的代码中使用php5的__autoload功能.我在index.php中编写了下面的代码,但我不明白我应该如何以及何时调用__autoload函数.

function __autoload($class) {
    if (file_exists($class . '.php')) {
        include($class . '.php');
    } else {
        throw new Exception('Unable to load class named $class');
    }
}
Run Code Online (Sandbox Code Playgroud)

我也见过这个帖子,但我的应用程序中没有这样的自动加载器类.每个应用程序是否需要单独的类才能使用自动加载?如果没有,我可以像上面这样的单一功能完成它的任务吗?任何人都可以解释如何在我的PHP代码中调用上面的__autoload函数?

php autoload autoloader

12
推荐指数
2
解决办法
2万
查看次数

我不明白为什么有人需要作曲家?

我认为没有必要包括用于加载任何库等的作曲家.加载一些库并不是一项艰巨的任务.它很容易包括......

下载库> extract>放入您的项目>使用它

此任务每个项目只有一次.我的意思是它不是一遍又一遍.

更新也不是一件大事......只需下载并替换项目中的旧文件即可.

每个图书馆只需30秒.我没有看到任何理由在我的项目中再包含一层(作曲家).

另外,如果我们将这一层(作曲家)添加到我们的项目中,它会带来自己的问题.检查一下,看看有多少人处理作曲家错误; https://stackoverflow.com/search?q=composer+error

我想我忽略了一些事情.因为几乎每个人都使用作曲家并推荐.

你能告诉我我对作曲家的看法吗?它有什么好处?

php autoloader composer-php

11
推荐指数
1
解决办法
1687
查看次数

JavaScript Autoloader?

有没有一个解决方案,我可以在需要时拥有JavaScript/jQuery自动加载依赖文件?例如,请考虑以下情况:

  1. 我有一个自动加载器脚本侦听何时需要加载特定脚本.
  2. dialog()调用jQuery 插件.
  3. 自动加载器被告知监听何时调用此插件,并加载jQuery UI.
  4. 如果将来调用更多对话框,则不会加载所需的脚本.

简单地试图限制带宽是否需要付出太多努力?我是否应该将所有核心文件包含在一个超级包中并完成它?

感谢您的时间.

javascript jquery jquery-ui autoloader

10
推荐指数
1
解决办法
1万
查看次数

Laravel Alias没有找到课程

我正在尝试将Alias注册到一个类,但是Laravel无法找到该类,我可以直接在我的控制器中引用该类,所以我知道它正确加载了.

这是我的代码:

'aliases' => array(
        'FrontendAssets'    => 'Lib\FrontendAssets',
)
Run Code Online (Sandbox Code Playgroud)

我正在尝试为其制作别名的课程

class FrontendAssets
{
    /**
     * Styles array to include on every admin page
     * @var array
     */
    protected static $styles = [];
    /**
     * Scripts array to include on every admin page
     * @var array
     */
    protected static $scripts = [];

    public static function styles()
    {
        return static::assets(static::$styles);
    }

    public static function addStyle($style)
    {
        static::$styles[] = $style;
    }

    public static function scripts()
    {
        $scripts = static::assets(static::$scripts);

        return $scripts;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

php alias class autoloader laravel

10
推荐指数
2
解决办法
1万
查看次数

php spl_autoload_register和composer autoloader可以一起工作吗?

经过一些研究,无法找到解决问题的方法.我正在使用API​​,这是我通过composer下载的命名空间.API让它依赖于我允许作曲家为我管理和自动加载.与此分开,我有大约10个类,我已经使用php自动加载spl_autoload_register.最近,我开始混合这些类来完成一个项目的部分,整个事情已经变成了废话.我的自定义类不能使用作曲家类,反之亦然.有没有一种方法可以用来自动加载两个独立文件夹中的类,并加载两个独立的外载程序.

这是我目前使用的代码.vender/autoload.php与典型的作曲家自动加载器没有什么不同.谢谢你的帮助.

require 'vendor/autoload.php';
require 'functions/general.php';
require 'include/mailgun.php';

function my_autoloader($class) {
    require 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
Run Code Online (Sandbox Code Playgroud)

php autoload autoloader spl-autoload-register composer-php

10
推荐指数
2
解决办法
4374
查看次数