Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вызов несуществующих методов [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 2 [3]   

> Без описания
DeepVarvar Супермодератор
Отправлено: 26 Мая, 2015 - 00:53:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




GoDr пишет:
А пример можно привести?
Не понял я. Ты что, никогда автолоад с неймспейсами не юзал?
 
 Top
GoDr
Отправлено: 26 Мая, 2015 - 11:30:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




DeepVarvar пишет:
Не понял я. Ты что, никогда автолоад с неймспейсами не юзал?
Раз сто пробовал начать этим пользоваться, в т.ч. и в загрузчиках, но так и не понял их преимущество.. Ну или не видел хорошего объяснения в их плюсах. Если объяснишь, то попробую ещё раз понять. Для меня это пока только что-то красивое и современное, но не востребованное Улыбка


-----
Система управления веб-содержимым Lotos CMS
 
 Top
DelphinPRO
Отправлено: 26 Мая, 2015 - 13:21:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




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

не востребованное лично тебе? ну ты просто еще не разобрался во все прелестях стандартизованного подхода к написанию кода.

в общем нужно грызть эту тему, понять и использовать.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
GoDr
Отправлено: 26 Мая, 2015 - 13:29:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




DelphinPRO, да всё я это понимаю!!! Радость Стандарт конечно хорошо, но в официальных бумажках PHP написано ещё то что, если не использовать это, то это ни на что не влияет, ни к чему не принуждает и вообще всё только на усмотрение человека (ну может не такими словами, но примерно такая суть Улыбка )

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


-----
Система управления веб-содержимым Lotos CMS
 
 Top
DelphinPRO
Отправлено: 26 Мая, 2015 - 13:39:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




GoDr пишет:
Покажи свой загрузчик с этими неймспейсами.. вдруг втянусь

Дело в том, что я пишу свой код по PSR-4, дополнительно использую сторонние библиотеки (которые, кстати не все использую psr4, и это доставляет некоторые неудобства).
Самому писать загрузчик под все это дело - геммор. А вдруг добавится еще один сторонний пакет? Загрузчик снова корректировать... Нет уж, увольте-с.

Я создаю файлик composer.json, примерно такого содержания
CODE (json):
скопировать код в буфер обмена
  1. {
  2.     "require" : {
  3.         "slim/slim"        : "2.*",
  4.         "twig/twig"        : "~1.18",
  5.         "slim/extras"      : "~2.0",
  6.         "synchro/uasparser": "0.53.*"
  7.     },
  8.     "autoload": {
  9.         "psr-4": {
  10.             "delphinpro\\wt\\"      : "application/wt",
  11.             "delphinpro\\Database\\": "application/Database",
  12.             "UAS\\"                 : "vendor/synchro/uasparser/UAS"
  13.         }
  14.     }
  15. }

потом пишу в терминале команду

и... и всё! Автозагрузчик генерируется и просто работает.

(Отредактировано автором: 26 Мая, 2015 - 13:44:24)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Мая, 2015 - 13:50:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




GoDr пишет:
Покажи свой загрузчик с этими неймспейсами
Вообще простой как топор: https://github[dot]com/Romandry/phps[dot][dot][dot]ml/index.php#L46
Ну и например: https://github[dot]com/Romandry/phps[dot][dot][dot]ToString.php#L10
преобразуется в common/filters/ToString и к нему добавляется префикс APPLICATION.
Так получается что неймспейсы === директории в фс.
Так еще и классы подгружаются только по требованию и не жрут ресурсы.
 
 Top
Страниц (3): « 1 2 [3]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB