我试图使用作曲家在wordpress插件中自动加载我的类。
我希望我的模型和控制器驻留在GD名称空间中,但是我希望将我的模型和控制器放入它们自己的目录中。
我面临错误消息:致命错误:Class'GD\ShortcodeController'未在/….中找到/src/GD/App。php第10行
目录/文件结构
plugins
gd
cache
// location for twig template cache
public
// location for plugin assets
src
controllers
ShortcodeController.php
models
App.php
templates
test.html
vendor
// location for application dependencies installed via composer
composer
autoload_namespaces.php
创作者json
{
"require": {
"twig/twig": "1.*"
},
"autoload": {
"psr-0": {
"GD": ["src/", "src/GD/", "src/GD/controllers/", "src/GD/models/"]
}
}
}
供应商/编写器/自动加载_名称空间。php
return array(
'Twig_' => array($vendorDir . '/twig/twig/lib'),
'GD' => array($baseDir . '/src', $baseDir . '/src/GD', $baseDir . '/src/GD/controllers', $baseDir . '/src/GD/models'),
);
GD/src/App.php
class App
{
private $plugin_dir;
private $twig;
public function init()
{
$shortcodes = new ShortcodeController;
add_shortcode( 'gd', [ $shortcodes , 'gd'] );
}
}
GD/src/controllers/ShortcodeController。php
<?php namespace GD;
class ShortcodeController
{
// STUFF IN HERE
}
我应该使用自动加载类映射而不是psr-0吗?当使用类映射时,composer如何处理命名空间类?
您的psr-0中有
“src/GD/controllers/”
"autoload": {
"psr-0": {
"GD": ["src/", "src/GD/", "src/GD/controllers/", "src/GD/models/"]
}
}
但是
shortcode控制器。php
文件位于GD/src/controllers
文件夹和namespace
中
<?php namespace GD;
class ShortcodeController
{
// STUFF IN HERE
}
所以,您的
"gd/src/控制器/">。此外,您正在从根/全局短代码ontroller.php
应该在src/GD/控制器/gd
文件夹中,但是现在路径是GD/src/控制器/短代码ontroller.php
和Autoloader
正在查找在psr-0"src/GD/控制器/"
更改为"src/GD/控制器/"
"src/GD/控制器/"命名空间
中使用短期代码=新的短期代码控制器;因此,它可能是
shortcodes = new GD\ShortcodeController;
根据
"autoload": {
"psr-0": {"GD\\": "GD/src/controllers/"}
}
你们班
<?php namespace GD;
class ShortcodeController
{
// STUFF IN HERE
}
应该在
GD/src/控制器/gd
文件夹中。
我有一个类似的问题,在这里描述: 一切都按照我的预期工作;我的代码访问数据库并打印输出,不管我是从命令行界面还是从网络浏览器运行。同样的结果。如果我用PHPUnit在Eclipse中运行它,我会得到一个错误: 哪些点位于下一行: 此代码打印出“是”。 还有一点需要指出的是,我在上面代码所在的类中使用自己的名称空间。我的单元测试在全局命名空间中。 我已经按照上面的URL中的步骤,但是,唉,没有用。:
我收到了以下错误消息: 致命错误:未捕获错误:在F:\projects\websites\main\u website\app\Exceptions\Handler中找不到类“Auth”。php:65堆栈跟踪:#0 F:\projects\websites\main\u website\vendor\laravel\framework\src\illighted\Foundation\Http\K
尝试在我的stripe帐户上提交测试付款时,我遇到以下错误: 致命错误:未捕获错误:在/home/dh#u y3rvc7/vvnow.dreamhosters.com/wp-content/plugins/wp-Stripe-integration/includes/process payment.php:25堆栈跟踪:#0/home/dh#uy3rvc7/vvnow.dreamhosters.c
我无法为iOS构建颤动项目,给我的错误如下 尝试 吊舱拆卸 rm ios/颤抖/颤抖。podspec 颤振清洁 扑扑酒吧获取 吊舱安装 清除导出数据 颤振运行 仍然一样,我无法摆脱这个错误。我甚至尝试从pubsec.yaml中删除路径提供程序插件 任何帮助都将非常感谢,因为我已经坚持了24小时
我尝试一个简单的Web服务示例,我得到这个错误,即使我取消注释在文件: 致命错误:在C:\Program Files(x86)\EasyPHP-5.3.9\第2行的www\server.php中找不到类'SoapClient'
问题内容: 我有一个问题,我在Linux服务器上安装了“ Archive_Zip 0.1.1”,但是当我尝试运行脚本来创建zip文件时,却出现了致命错误 致命错误:在…中找不到类 我把代码放在哪里 但找不到类文件。 请告诉我解决方案。我该怎么办才能解决问题?我也将文件放到脚本所在的文件夹中,但是不起作用。 问题答案: 对于要显示的类,PHP需要安装zip扩展名。 有关安装说明,请参见此页面(Lin