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 :: Zend Mapper

 PHP.SU

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


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

> Описание: Интересная штука
DeepVarvar Супермодератор
Отправлено: 09 Июля, 2012 - 11:07:23
Post Id



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


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


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




При именовании файлов и классов в соответствии с "масками" столкнулся с такой проблемой:
Zend видит все имена классов, как ты их не назови.
Но как только в имени класса появляется подстрока "Mapper", zend вываливает fatal error что нет такого класса.
Нашел вроде бы как похожую проблему: http://www[dot]devnetwork[dot]net/viewto[dot][dot][dot]=72&t=115985
Неужели это единственное решение?
И верно ли оно?
Что нужно сделать чтобы зенд перестал "игнорить" подстроку "Mapper"?
 
 Top
EuGen Администратор
Отправлено: 09 Июля, 2012 - 11:37:05
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Способ - да, корректный. Причина, по которой возникает такая нужда - не совсем правильная. Иными словами, Zend воспринимает именование Mapper - как ресурс другого типа. (а именно - mapper) - и, значит, применяет другое правило при автозагрузке.
Пути три, на мой взгляд.
Первый путь - действительно изменить стандартное правило автозагрузки, так, чтобы не определять то, что содержить *mapper как собственно ресурс mapper - но тогда есть риск, что перестанет работать то, что собственно должно работать по такому сценарию.
Второй путь - изменить bootstrap так, чтобы Zend пытался искать еще раз, если не нашел по стандартному пути. Вариант такого решения приведен по ссылке.
Третий путь (на мой взгляд, наиболее корректный) - не именовать то, что не относится к типу mapper - таким образом.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Июля, 2012 - 11:42:50
Post Id



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


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


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




Да, так оно логически и пришло - оставить бутстрап как есть, и просто именовать классы иначе. Просто неожиданно так он себя повел с /.*_Mapper_.*/

(Отредактировано автором: 09 Июля, 2012 - 11:47:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB