2011-07-31 5 views
0

я не знаю, где я слышал это, но я слышал/читал некоторое время назад, что:Должны ли PHP-скрипты иметь несколько классов в одном файле?

«Классы не рекомендуется в небольших PHP приложений/скриптов, так как они должны называться по каждому запросу»

Но разве это не так, как вызывающие функции по каждому запросу?

Кроме того, как вы включаете несколько классов в приложение/скрипт, поскольку я видел, что у людей есть простой файл, содержащий все классы.

Нет ли лучшего способа включить все классы в приложение/скрипт?

Cheers!

+0

Ваша цитата не имеет смысла – dynamic

+0

@ yes123: yep, completelly out – genesis

ответ

1

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

Это должно облегчить ответить на ваши актуальные вопросы, а также:

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

Не то же самое, но вполне сопоставимое, право.

Кроме того, как вы включаете несколько классов в приложение/скрипт, так как я видел, что у людей есть простой файл, содержащий все классы. Нет ли лучшего способа включить все классы в приложение/скрипт?

Определить лучше? Что не так с этим подходом? Вообще говоря, существует много способов, как это можно выполнить, однако это связано с тем, как организованы классы в файлах, а затем как файлы организованы в файловой системе.

Обычно вы включаете классы файлов по необходимости, либо вручную, либо с помощью автозагрузчика. И это в значительной степени. См. Ссылки на правой стороне, вы найдете множество информации.

1

Как да123 говорит, что цитата не имеет смысла. Разработчик должен решить, как ваш проект должен быть закодирован, и должен ли он использовать классы.

Существует несколько школ мысли о том, как лучше всего включать занятия. Лично я предпочитаю иметь отдельный файл для каждого класса, файл с тем же именем, что и класс, поэтому класс с именем mySuperClass будет находиться в файле mySuperClass.php и включен в require_once 'mySuperClass.php';.

Другие люди предпочитают размещать свои классы в файлах, содержащих несколько связанных классов. Я не думаю, что это имеет значение, пока вы решаете, что вы хотите делать, и вы согласны в этом.

Возможно, вы захотите посмотреть также на автозагрузку и соглашения об именах классов и файлов, такие как PEAR. Я использую Zend Framework для большинства своих проектов, поэтому, как правило, придерживаются автоматической загрузки и соглашения об именах PEAR. http://framework.zend.com/manual/en/coding-standard.naming-conventions.html другие люди будут иметь для этого свои предпочтения.

PHP 5.3 также ввел namespacing, который дает другой подход, есть введение к нему здесь: - http://www.sitepoint.com/php-53-namespaces-basics/ Я действительно не воспринял это, поскольку мне очень нравится моя текущая система, но она может вам подойдет.

0

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

function __autoload($class_name) { 
    include 'classes/'.$class_name . '.php'; 
} 
Смежные вопросы