- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前正在尝试开发一个自定义的 Laravel 包,但在开始时遇到了一些问题。
这是我的文件结构:
-packages
- oliverbusk
-invoiceconverter
-src
-controllers
- InvoiceconverterController.php
-resources
- views
- home.blade.php
-routes
- web.php
- InvoiceConverterServiceProvider.php
如您所见,我的文件位于 src/
文件夹中。
首先,这是我的 composer.json
,在我的包文件夹中:
"extra": {
"laravel": {
"providers": [
"Oliverbusk\\Invoiceconverter\\InvoiceConverterServiceProvider"
]
}
}
然后我在我的项目 main composer.json
文件中自动加载了它:
"require": {
//....
"oliverbusk/invoiceconverter": "dev-feature-package"
},
"autoload": {
[...]
"psr-4": {
"App\\": "app/",
"Oliverbusk\\Invoiceconverter\\": "packages/oliverbusk/invoiceconverter"
}
},
这是我的服务提供商文件:
namespace Oliverbusk\Invoiceconverter;
use Illuminate\Support\ServiceProvider;
class InvoiceConverterServiceProvider extends ServiceProvider
{
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//Load our routes
$this->loadRoutesFrom(__DIR__ . '/routes/web.php');
//Load our views
$this->loadViewsFrom(__DIR__ . '/resources/views', 'invoiceconverter');
}
/**
* Register services.
*
* @return void
*/
public function register()
{
//
}
}
还有我的 Controller 文件,位于controllers/
:
namespace Oliverbusk\Invoiceconverter\Controllers;
use App\Http\Controllers\Controller;
class InvoiceconverterController extends Controller
{
public function index()
{
return view('invoiceconverter::home');
}
}
最后,我的 routes/web.php
文件:
Route::group(['namespace' => 'Oliverbusk\InvoiceConverter\Controllers'], function () {
Route::get('invoiceconverter', 'InvoiceconverterController@index');
});
Class Oliverbusk\InvoiceConverter\Controllers\InvoiceconverterController does not exist
Composer dump autoload 显示以下内容:
Discovered Package: oliverbusk/invoiceconverter
php artisan:cache:clear
清除缓存。composer update
最佳答案
您路由中的命名空间与您实际使用的命名空间不匹配。
Route::group(['namespace' => 'Oliverbusk\InvoiceConverter\Controllers'], function () {
Route::get('invoiceconverter', 'InvoiceconverterController@index');
});
更改为
Route::group(['namespace' => 'Oliverbusk\Invoiceconverter\Controllers'], function ()
{
Route::get('invoiceconverter', 'InvoiceconverterController@index');
});
看看是否有帮助。
我还建议您将所有代码重构为大写的 InvoiceConverter,因为它们是两个单独的词。
关于PHP Laravel - 类 [controllername] Controller 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52096131/
我正在阅读 Pro ASP.NET MVC 3 中的 URL 和路由章节,并试图查看当对象默认值包含空值时会发生什么。这是我目前的路线。 routes.MapRoute("MyRoute", "{co
在 chrome 中,如果我去 www.mysite.com/controller/foo 页面呈现完美 在 chrome 中,如果我转到 www.mysite.com/Controller/foo,
我正在努力为我的 MVC 4 Controller 提供友好的名称,我想做一些类似 [ActionName="My-Friendly-Name"] 风格的事情,但对整个 Controller 。 我找
我目前正在尝试开发一个自定义的 Laravel 包,但在开始时遇到了一些问题。 这是我的文件结构: -packages - oliverbusk -invoiceconverter
我正在构建一个 ASP.NET Core 2.0 Web 应用程序。在 ASP.NET WEB 中,我使用了 System.Web.Mvc,其中我有以下行来获取 ControllerName: des
我想在 URL 中隐藏 Controller 名称。我正在使用下面的代码。 routes.MapRoute( name: "Customized", url: "{action}",
我目前正在从事一个由许多类(class)组成的大项目。您能想象一种在每次加载 Controller 时获取带有 Controller 名称的日志消息的方法吗? 背景如下:当我必须修复一个错误时,我会花
非常标准的代码 using (Ajax.BeginForm("Search", "Subscriber", null, new AjaxOptions
在 app.js 我有: (function(){ var app = angular.module("myApp", []); })(); 在 process.js 中包含 app.js 我
如何获取Controller的所有操作列表?我搜索但找不到示例/答案。我看到一些推荐使用反射的例子,但我不知道如何。 这是我想要做的: public List ActionNames(string c
我创建了一个名为 ApplicationController 的 Controller ,它向我的所有 View 发送公共(public)信息,我系统中的每个 Controller 都继承自它。 在部
开始使用 TypeScript。我可以在没有 TypeScript 的情况下进行此操作,但在转换时出现错误。 我有以下 Controller : "use strict" module app.blo
我使用自定义 AuthorizationFilter 如下所示: public class ActionAuthorizeAttribute : AuthorizeAttribute { protec
Webapimethod 在 RestConsole 中运行良好,但在 AndroidApplication 中调用该 Webapi 方法时显示错误 { "Message": "找不到与请求 URI
我是一名优秀的程序员,十分优秀!