Php 拉雷维尔4号的立面问题
对不起,我用的是谷歌翻译。 首先,我留下我的代码: FtpServiceProdiver.phpPhp 拉雷维尔4号的立面问题,php,laravel,package,Php,Laravel,Package,对不起,我用的是谷歌翻译。 首先,我留下我的代码: FtpServiceProdiver.php <?php namespace Jaimemse\Ftp; use Illuminate\Support\ServiceProvider; class FtpServiceProvider extends ServiceProvider { protected $defer = false; public function boot() { $this->package(
<?php namespace Jaimemse\Ftp;
use Illuminate\Support\ServiceProvider;
class FtpServiceProvider extends ServiceProvider {
protected $defer = false;
public function boot()
{
$this->package('jaimemse/ftp');
}
public function register()
{
$this->app->bind('ftp', function()
{
return new Ftp;
});
}
public function provides()
{
return array();
}
}
如果不是正面,而是这样,如果它起作用:
'Ftp' => 'Jaimemse\Ftp\Ftp',
我遇到的问题是,在使用文件app.php中的别名时,会在Facades/Ftp.php文件夹中查找Ftp类
调用未定义的方法jaimese\Ftp\Facades\Ftp::hello()
有人能帮我吗?谢谢 您必须扩展BaseController:
<?php namespace Jaimemse\Ftp;
class Ftp extends \BaseController {
public function hello()
{
return 'hola';
}
}
也
应该是
use \Illuminate\Support\Facades\Facade;
use \Illuminate\Support\ServiceProvider;
你应该把app.php放进去 “提供者”数组中的“jaimese\Ftp\FtpServiceProvider”(在“别名”之前) 和在“别名”数组中
‘Ftp’=>‘jaimese\Ftp\Facades\Ftp’,我通过添加寄存器方法修复了它: FtpServiceProvider.php
public function register()
{
$this->app->bind('ftp', function()
{
return new Ftp;
});
$this->app->booting(function()
{
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('Ftp', 'Jaimemse\Ftp\Ftp');
});
}
Ftp.php
App.php
'Jaimemse\Ftp\FtpServiceProvider',
我没有在文件中添加任何app.php别名。我删除了Facade文件
现在我可以做以下事情:
Ftp::hello();
希望这能帮助别人。谢谢大家! 您好,首先感谢您的回复。问题是我创建了一个类,因此该类不扩展任何驱动程序,而是包含该包的单个类。所有这些都在:workbench/jaimese/ftp/src/jaimese/ftp内谢谢
use Illuminate\Support\Facades\Facade;
use Illuminate\Support\ServiceProvider;
use \Illuminate\Support\Facades\Facade;
use \Illuminate\Support\ServiceProvider;
public function register()
{
$this->app->bind('ftp', function()
{
return new Ftp;
});
$this->app->booting(function()
{
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('Ftp', 'Jaimemse\Ftp\Ftp');
});
}
class Ftp {
public function hello()
{
return 'hello';
}
}
'Jaimemse\Ftp\FtpServiceProvider',
Ftp::hello();