Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.12.2016 20:30:16

Общие методы

Здравствуйте!

Вопрос немного странный.
У меня несколько контроллеров используют одни и те же методы. Я хочу вынести их в статический класс.
Куда в ларавеле кидают общие для контроллеров классы?
И как их подключают?
(Получается мне нужно что-то вроде дополнения\расширения\модуля)

Не в сети

#2 03.12.2016 20:33:00

Re: Общие методы

А что именно делают общие методы?

Не в сети

#3 03.12.2016 20:41:24

Re: Общие методы

AlexeyMezenin пишет:

}%А что именно делают общие методы?

Ну например, метод для доступа к удаленному серверу.
Его я юзаю из разных методов контроллеров, которые вызываются через ajax. Просто не удобно постоянно копировать метод, да и не очень то красиво. Вот я и узнаю как такое рода задачи решаются в ларавел?

Не в сети

#4 03.12.2016 21:21:45

Re: Общие методы

То, что ты хочешь - назыввется 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

Не в сети

#5 03.12.2016 21:28:30

Re: Общие методы

Спасибо за помощь!

Не в сети

Подвал раздела