Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте!
Вопрос немного странный.
У меня несколько контроллеров используют одни и те же методы. Я хочу вынести их в статический класс.
Куда в ларавеле кидают общие для контроллеров классы?
И как их подключают?
(Получается мне нужно что-то вроде дополнения\расширения\модуля)
Не в сети
Не в сети
}%А что именно делают общие методы?
Ну например, метод для доступа к удаленному серверу.
Его я юзаю из разных методов контроллеров, которые вызываются через ajax. Просто не удобно постоянно копировать метод, да и не очень то красиво. Вот я и узнаю как такое рода задачи решаются в ларавел?
Не в сети
То, что ты хочешь - назыввется Trait'ы. И с Ларой оно связано, как варешки с руками.
Вот тебе практическое применение.
app/Traits/MyTrait.php
<?php
namespace App\Traits;
trait MyTrait
{
ptotected $var = null;
public static function myStaticMethod()
{
}
public function myMethod2
{
}
}
app/MyClass1.php
<?php
namespace App;
use App\Traits\MyTrait; // подключит трейт
class MyClass1
{
use MyTrait; // подставит методы из трейта
}
app/MyClass2.php
<?php
namespace App;
use App\Traits\MyTrait; // подключит трейт
class MyClass2
{
use MyTrait; // подставит методы из трейта
}
В итоге из обоих классов доступны методы из трейта и они фунциклируют в объёме того класса, где подключены.
Но лучше почитай http://php.net/manual/ru/language.oop5.traits.php
Не в сети
Спасибо за помощь!
Не в сети
Страницы 1