Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / composer: как в установленом покете подправлять логику. / 6 сообщений из 6, страница 1 из 1
29.04.2015, 10:58
    #38948271
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
Суть вопроса.
вот использую компосер.
скачал себе несколько пакетов и использую как есть. но вот стала нужда подправить в некоторых кое что.

тоесть, в пакете А есть класс A\B\Class1.

используеться в пакете как основной класс A\C\BaseClass

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
//in my code
use A\C\BaseClass;

$obj = new BaseClass();
$ojb->echodata();

//in ..../A/C/BaseClass.php
namespace A\C;
class BaseClass{

public function echodata()
{
....
$tempobj = new \A\B\Class1();
....
}

}



вот мне надо сделать в Class1

расширить один метод(переопределить с вызовом родительского)

вот чтобы не переписывать код в вендорах, а только своим я могу как-то это сделать?
...
Рейтинг: 0 / 0
29.04.2015, 12:04
    #38948393
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
Что делает PHP-код в разделе по MySQL?

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
29.04.2015, 14:03
    #38948619
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
сделать в своей папке такую же структуру директориев и там этот класс и править наздоровье.
...
Рейтинг: 0 / 0
29.04.2015, 14:58
    #38948691
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
ScareCrowсделать в своей папке такую же структуру директориев и там этот класс и править наздоровье.

либо я мысли доконца не понял, либо....


вот пример.
в кохане изначально сделан задел для переопределения класов...это каскадная струнтура каталогов...тоесть файл с именем Вася пупкин будет искаться с верхнего каталога до нижнего пока не найдёться...тоесть в папке повыше сделали файл с тем же именем, и он закроет другой файл. но это перезапись всего файла.

НО.
все классы имеют наследнига-копию. тоесть класс Кохана_Супер_Пупер обязательно имеет наследника в котором кроме наследования ничего нету... и называеться он просто Супер_Пупер.
тоесть мы получаеться в папке проекта просто создаём файл Супер_Пупер и там определяем клас наследник уже с своими правками...


вот как подобное по простоте сделать для случая с вендорами что накачал композер...чтобы не надо было после компосер апдейт какимито скриптами чтото перекопировать или переправлять в рабочей папке

(разворачивание кода на сервере. рабочая папка - из системы контроля версий, стартует компосез апдейт, и доустанавливает вендоры, в итоге код должен быть рабочий, все автолоудеры красиво работают, все классы находять)
счас так и есть, но без правок вендоров...

а вот надо с правками...
...
Рейтинг: 0 / 0
29.04.2015, 17:32
    #38948909
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
alex564657498765453,

пользуйся тогда Git, если пакет не поддерживает какой-нибудь DI
...
Рейтинг: 0 / 0
30.04.2015, 13:03
    #38949612
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
composer: как в установленом покете подправлять логику.
автор все автолоудеры красиво работают
посмотри по каким правилам они классы ищут.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / composer: как в установленом покете подправлять логику. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]