Что я должен назвать своим файлом класса PHP? [закрытый]

Если Вы присвоили его var "a"...

Python 2.x:

#1:

a.sort(lambda x,y: cmp(x[1], y[1]))

#2:

filter(lambda x: x[3]=="2somename", a)

python 3:

#1:

a.sort(key=lambda x: x[1])
36
задан johnnietheblack 30 July 2009 в 22:17
поделиться

4 ответа

Нет никакой разницы, кроме того, что вы видите. Те с .class полезны, если вы используете автозагрузку и не имеете определенного каталога, в котором хранятся ваши файлы классов. В остальном это совершенно произвольно. (Я использовал ClassName.class.php .)

40
ответ дан 27 November 2019 в 05:28
поделиться

Если я не работаю над существующим проектом или платформой, я склоняюсь к документированному набору соглашений, таких как Zend: http://framework.zend.com/manual/en/coding-standard.naming-conventions.html

Кроме того, это означает, что вы можете использовать такие инструменты, как PHP Code Sniffer, чтобы гарантировать, что все будут придерживаться соглашения.

] В любом случае, главное - это согласованность. Это значительно облегчает другим (включая вас через несколько месяцев) освоение кодовой базы.

1
ответ дан 27 November 2019 в 05:28
поделиться

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

Однако, если вы работаете над существующим проектом, вам следует использовать любую схему именования проекта имеет.

5
ответ дан 27 November 2019 в 05:28
поделиться

Каковы ваши стандарты кодирования?

Обычно имена классов начинаются с заглавной буквы (например: class MyClass ). Если вы сделаете это, то вы должны назвать файл MyClass.php . И MyClass.class.php тоже работает.

MyClass.class - плохая идея, которая может позволить кому-то просмотреть ваш исходный код, если они запросят этот файл по имени. Использование расширения .php гарантирует, что пользователь увидит вывод только после того, как файл будет обработан интерпретатором PHP, который для файла, не содержащего ничего, кроме класса, является пустой страницей.

Наконец, загляните в autoload () , который избавит вас от необходимости вызывать require_once для загрузки вашего класса.


Обновление: Благодаря стандарту кодирования PHP PSR-4 теперь есть полуофициальный способ называть файлы классов. Предыдущий совет - называть файл класса таким же, как класс с расширением .php , остается в силе. Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

теперь есть полуофициальный способ называть файлы классов. Предыдущий совет - называть файл класса таким же, как класс с расширением .php , остается в силе. Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

теперь есть полуофициальный способ называть файлы классов. Предыдущий совет - называть файл класса таким же, как класс с расширением .php , остается в силе. Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

Предыдущий совет - называть файл класса таким же, как класс с расширением .php , остается в силе. Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

Предыдущий совет - называть файл класса таким же, как класс с расширением .php , остается в силе. Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

Но теперь ожидается, что вы поместите этот файл класса в подкаталог, названный в честь пространства имен вашего класса; PSR-4 требует, чтобы все ваши классы содержались в определенном вами пространстве имен.

Что вы за это получаете? Автозагрузка бесплатно! Если вы используете Composer , вы можете указать каталог верхнего уровня для ваших классов , и Composer автоматически загрузит их. больше не требуется операторов для загрузки ваших классов.

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

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

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

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

Если вы не хотите этого делать, вам не нужно: PSR-4 - это рекомендация , а не требование.

44
ответ дан 27 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: