ФорумПрограммированиеPHP для идиотов → как избежать ошибок с именами?

как избежать ошибок с именами?

  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 7:52 п.п.

    Например в разных папках могут оказаться классы с одинаковыми именами, как автолоадеру их загружать? Или например есть куча модулей у каждого свои вьюверы, как шаблонизатору показать, что сейчас надо загрузить вьювер из папки этого модуля, а не другого, сами вьюверы тоже могут быть с одинаковыми именами.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2010, 7:53 п.п., спустя 1 минуту 2 секунды

    Например в разных папках могут оказаться классы с одинаковыми именами, как автолоадеру их загружать?

    не может оказаться если использовать стандарты кодирования и именования файлов и переменных
    Спустя 8 сек.
    классобв в смысле, а не переменных конечно)
    Сапожник без сапог
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 7:59 п.п., спустя 5 минут 45 секунд

    namespace
    Спустя 44 сек.
    http://php.net/manual/en/language.namespaces.nsconstants.php
    Спустя 133 сек.
    применим как к обычным функциям так и к классам, действует с php 5.3.1 по крайней мере у меня :)
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:19 п.п., спустя 20 минут 30 секунд

    ну например модули будут писать разные люди, и соответственно они же не будут знать как назвал вьюверы или классы в своем модуле другой разработчик.
    namespace будем использовать когда большинство наших хостеров будут поддерживать php 5.3
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:22 п.п., спустя 3 минуты 6 секунд

    wats, большинство наших хостеров посылается лесом и покупается забугорный хостинг, либо свои дата центры xD
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2010, 8:23 п.п., спустя 1 минуту 1 секунду

    наших хостеров

    да тут все просто. как и в 2005ых пхп5 уже был давно, а хостеры подтянулись только к 9ому году, так что 5.3 будет гдето в 2015ом в лучшем случае :)
    Сапожник без сапог
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:31 п.п., спустя 8 минут 4 секунды

    смотрел фреймворк кохана, там autoload ищет и грузит классы из папок application, modules (при чем он пробегает по всем подключенным модулям) и system, дык там что то эта проблема с именами никак не решена, создав в application класс с таким же названием как в папке system или в каком нибудь модуле, получаешь fatall error
    Спустя 215 сек.

    wats, большинство наших хостеров посылается лесом и покупается забугорный хостинг, либо свои дата центры xD

    ну и нах это надо пользователям, которые будут использовать сию систему?!
    Спустя 152 сек.
    да тут все просто. как и в 2005ых пхп5 уже был давно, а хостеры подтянулись только к 9ому году, так что 5.3 будет гдето в 2015ом в лучшем случае :)

    вот именно :D
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:35 п.п., спустя 4 минуты 3 секунды

    wats, ну тогда задай другие имена своим классам, как ни странно в английском языке до кучи синонимичных слов ;)
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:38 п.п., спустя 2 минуты 57 секунд

    KaFe, это не решит проблемы.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2010, 8:47 п.п., спустя 9 минут 10 секунд

    wats, посмотри как это решено в зендфреймворке
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 8:59 п.п., спустя 11 минут 47 секунд


    wats, посмотри как это решено в зендфреймворке

    Пока бегло так глянул, там префиксы используются, не очень мне это нравится, но видимо лучше ничего не придумаешь(
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2010, 9:03 п.п., спустя 4 минуты

    а как по мне, то очень удобно
    Zend_Application_Module_Bootstrap == Zend/Application/Module/Bootstrap.php
  • wats

    Сообщения: 134 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 9:17 п.п., спустя 13 минут 45 секунд

    NRG, вообщем то да, удобно, но вот например в названиях вьюверов тоже префиксы что ли использовать?! Хрень получится.
  • KaFe

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz Сен. 25, 2010, 10:27 п.п., спустя 1 час 10 минут 27 секунд

    wats, ах, да я в своем процедурном фрейме префиксы использую, и все в порядке xD
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2010, 11:59 п.п., спустя 1 час 31 минуту 49 секунд

    Да, префиксы самое простое решение
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!