Поэтому я хочу, чтобы добавить псевдоним для пользовательских классов для того, чтобы иметь возможность использовать их в лезвии:Laravel пользовательских классов добавить псевдоним
<?php
namespace App\Classes;
class Requirement
{
public static function Test()
{
return "hello";
}
}
В config/app.php
я добавил псевдоним, как так:
...
'Requirement' => App\Classes\Requirement::class
Тогда, я хотел бы иметь возможность вызвать его в шаблоне лезвия как
{{ Requirement::Test() }}
Но он же не работаю г как-то. Я также пробовал composer dump-autoload
, но он все еще не работает.
BTW: Является ли добавление пользовательских классов таким образом жизнеспособным способом реализации логики для конкретного сайта, например, для извлечения и обработки данных из базы данных или есть лучший подход?
Edit 1
Я создал Requirement.php
в app/Facades
с последующим содержанием
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class Requirement extends Facade{
protected static function getFacadeAccessor() { return 'Requirement'; }
}
добавил PageContentProvider.php
в app/Providers
со следующим содержанием
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class PageContentProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->bind('Requirement', function($app){
return new \App\Classes\Requirement();
});
}
}
и в config/app.php
Псевдонима
'Requirement'=>App\Facades\Requirement::class
, а также поставщик
App\Providers\PageContentProvider::class
, но она по-прежнему не работает.
Edit 2
Добавляя что-то вроде
exit();
или
echo "blabla";
внутри register()
, ничего не меняется. Означает ли это, что PageContentProvider
даже не загружается?
Редактировать 3
Поскольку стандартный AppServiceProvider
загружается, я удалил запись coresponding из AppServiceProvider
в config/app.php
... и он все еще работает! Как-то мои изменения не применяются. У кого-нибудь есть решение для этого?
Я бы предпочел не делать этого, так как я должен был бы следить о том, какие данные должны быть отправлены с видом – VGD