Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自动加载自定义组件_Php_Yii_Autoload_Stripe Payments - Fatal编程技术网

Php 自动加载自定义组件

Php 自动加载自定义组件,php,yii,autoload,stripe-payments,Php,Yii,Autoload,Stripe Payments,我试图让Yii自动加载一个不遵循Yii约定的组件。正在讨论的库是我移到Components文件夹中的库。我能够让它自动加载主条带文件,通过如下修改我的配置没有问题: 'import'=>array( 'application.models.*', 'application.components.*', 'application.components.stripe.*', ), 目录结构如下所示: Components ---------- | ----&g

我试图让Yii自动加载一个不遵循Yii约定的组件。正在讨论的库是我移到Components文件夹中的库。我能够让它自动加载主条带文件,通过如下修改我的配置没有问题:

'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.components.stripe.*',
),
目录结构如下所示:

Components
----------
  |
  ----> Stripe
     | 
     ----> Stripe.php    (Class Name = "Stripe")
     ----> Customer.php  (Class Name = "Stripe_Customer")
     ----> Charge.php    (Class Name = "Stripe_Charge")
     ----> etc.

它可以识别
条带
类,但找不到
条带*
命名类。有没有办法让Yii识别这种模式,或者我的控制器中的手动
require
语句让我陷入困境?如果我将所有文件重命名为它们的类名,是否可行?

是的,将文件重命名为类名会有所帮助。否则您必须自己要求这些类。

是的,将文件重命名为类名会有所帮助。否则,您必须自己要求这些类。

您也可以创建自己的自动加载器并将其注册到:
Yii::registerAutoloader(数组(“autoderClass”、“methodName”),$append)
第一个参数实际上是一个php回调,我使用了类和方法表示法,也可以是函数。这实际上调用了
spl\u autoload\u寄存器
,顺序取决于第二个参数-Yii autoloader之前或之后。Autoloader应该在
$app->run()
之前在
index.php
中注册

以下是一些示例autoloader(用于zend framework):

您还可以创建自己的自动加载器并将其注册到:
Yii::registerAutoloader(数组(“autoderClass”、“methodName”),$append)
第一个参数实际上是一个php回调,我使用了类和方法表示法,也可以是函数。这实际上调用了
spl\u autoload\u寄存器
,顺序取决于第二个参数-Yii autoloader之前或之后。Autoloader应该在
$app->run()
之前在
index.php
中注册

以下是一些示例autoloader(用于zend framework):

好的,谢谢。那么,将文件命名为与类相同的“Yii方式”是吗?是的,这是Yii方式;)虽然这不是一个坏习惯。好的,谢谢。那么,将文件命名为与类相同的“Yii方式”是吗?是的,这是Yii方式;)虽然这不是一个坏习惯。