Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Заглавные буквы в названиях файлов


Автор: I_Am_Rock 7.12.2014, 17:10
Добрый день.

Делаем проект на Kohana.
К файлам с контроллерами и моделями есть требование, чтобы они были с заглавной буквы.

допустим User.php
который содержит 
class Model_User extends ORM

и где-то создается фабрично
Код

$user = ORM::factory('user');


Так вот - локально всё нормально. А на хостинге возникает ошибка (видимо потому что он на линуксе)
потому что файл не autoload'ится коханой и следовательно  не может создать экземпляр класса (так как не знает о нем).

можно сделать так 
Код

$user = ORM::factory('User');

и проблема решена.

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

Можно ли настроить хостинг так, чтобы было как локально - без оглядки на регистр первой буквы в названии файлов?
 smile 

Автор: bars80080 7.12.2014, 18:33
ORM::factory - это единственный метод или есть множество разных классов с аналогичными вызовами?

если один метод, то его можно переписать и заставить искать любые имена

Автор: I_Am_Rock 7.12.2014, 20:01
Нет, не единственный.

ORM и все другие модели наследуются от Model
то есть это Model::factory

Но не хотелось бы трогать ядро)

Хотя Кохана больше никогда обновляться не будет, так что бояться вроде как причины нет.



Автор: Aliance 8.12.2014, 14:10
Решение которое вы ищите - костыль! Потому что поведение на хостинге (читай на Линуксе) - правильное, т.к. регистрозависимое. А на локалке у вас работает - потому что, видимо, Венде, которая вообще упоротая и ей все равно как вы пишите название файла - она считает, что это нормально.

Правильное решение - везде писать с большой буквы, и исправлять там, где это не так - потому что вы же ищете файл User?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)