[英]How to use Zend Framework 2 class in my project?
我只是想有可能使用此库的类,但在2小时后无法使用:
那么如何将Zend Framework 2.1与他的自动加载器一起使用以仅使用该库的类而不创建ZF项目?
我已经尝试使用classmap_generator,inlude_path进行所有操作...我没有任何错误,但仍然返回我:
找不到动作课? 找不到版本类别!
谢谢。
您可以通过composer安装单个Zend Framework模块,这将为您完成大部分工作:
composer.json
{
"require": {
"zendframework/zend-http": "2.*"
},
"repositories": [
{
"type": "composer",
"url": "http://packages.zendframework.com/"
}
],
"minimum-stability": "dev"
}
这应该为您处理任何自动加载。 Composer会生成一个自动加载器,您只需将其包含在应用程序中即可:
require 'vendor/autoload.php';
这里有很多作曲家的例子:
https://packages.zendframework.com/#composer
http://net.tutsplus.com/tutorials/php/easy-package-management-with-composer/
由于ZF2组件是分离的并且专注于特定任务,因此一类经常使用另一类来开展业务。 仅包含一个类文件通常是不够的。
结果,ZF2肯定需要一些自动加载。 但是您不必使用ZF2自动加载器。
如果您的应用程序中还没有自动加载功能,那么添加它实际上很容易:
include_path
。 spl_autoload_register()
注册符合PSR-0标准的自动加载器 就像是:
spl_autoload_register(function($class)){
$file = str_replace('\\', '/', $class) . '.php';
$resolvedFile = stream_resolve_include_path($file);
if (file_exists($resolvedFile)) {
include $resolvedFile;
return $class;
}
});
如果您已经为您的应用程序安装了自动加载器,那么如果它不符合PSR-0标准,我会感到非常惊讶。 和以前一样,请确保Zend库位于include_path
。
即使Zend库不在包含路径上,您也可以创建一个自定义的自动加载器,该加载器知道该库在文件系统中的位置。
在所有情况下,所需类的用法为:
$myinstance = new \Zend\Component\Class();
有了正确的自动加载功能后-您可以选择进行此操作-此类可以使用其开展业务所需的任何其他Zend类。
经过多次搜索,我已经安装了作曲家。 但是我对这个解决方案并不满意,因为它影响了我的系统。
这是我的程序,我仍然说ZF文档非常差。
使用COMPOSER安装ZEND FRAMEWORK
1)允许白名单
suhosin.executor.include.whitelist = phar在文件中:nano /etc/php5/cli/conf.d/suhosin.ini
2)下载作曲家
Apt-get install curl curl -sS https://getcomposer.org/installer | 的PHP
3)移动作曲家
mv composer.phar / usr / local / bin / composer
4)复制composer.json
复制composer.json(来自zend framework存档)到我的根文件夹应用程序
5)Composer安装
执行composer.json所在的位置
现在,您的应用程序文件夹中将有一个名为“ vendor”的文件夹,可用于您的php代码:
include("vendor/autoload.php");
new Zend\Mail\Storage\Pop3(...);
现在它对我有用。
错误允许的内存大小:
php -r“ echo ini_get('memory_limit')。PHP_EOL;” 更改为1024M nano /etc/php5/cli/php.ini /etc/init.d/apache2重新启动
无法克隆http://github.com/zendframework/Component_ZendStdlib.git ,找不到git,
安装GIT Apt-get install git
只需在自动加载器中注册名称空间即可。
如果您使用的是作曲家,则添加include_once '<path to vendor dir>/autoload.php';
在您的php文件之上
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.