Существует более одного способа обнажить этого кота, но я порекомендую вам несколько полезных ссылок и книг.
Стандарты кодирования Zend: Если вы смотрите, как структурировать, назвать и т. Д. Ваши файлы, то я бы посмотрел, как Zend предлагает сделать это. Следуя их рекомендациям, вы можете создать пакет, совместимый с чужим кодом, используя эти же методы.
То, что вы хотите сделать, это создать папку специально для ваших классов. Как вы знаете, когда вам нужно будет создать новый класс, и что включить? Хороший вопрос!
Если вы обнаружите, что сталкиваетесь с группами информации, которая связана, которую необходимо много обрабатывать или которая решает конкретную проблему, скорее всего, вам следует создать новый класс, который сможет ее обрабатывать.
Например, класс User для обработки любых изменений, которые вы хотите внести в пользователя вашего сайта. Другим примером является класс Role, который может выполнять задачи (или нет) в зависимости от того, являются они администратором или нет. Замечательная вещь об объектах и классах состоит в том, что вы можете создать User :: $ role (переменную с именем $ role в классе User), который является классом Role. Так, например, у вас будет объект Role в вашем объекте User. Отсюда ваш пользовательский объект теперь может вызывать объект роли, выполняя что-то вроде:
class User {
private $username;
private $role;
function __construct($username){
$this->username = $username;
}
public function setRole($roleType){
switch($roleType){
case "admin":
$this->role = new Admin(); // contained in another class file
break;
case "staff":
$this->role = new Staff(); // contained in another class file
break;
default:
$this->role = new Visitor(); // contained in another class file
} // end case
} // end setRole
} // end Class User
$loggedInUser = new User("Bubba");
$loggedInUser->setRole("admin");
$loggedInUser->role->deleteMessage();
В общем, вы захотите сохранить свой код структурированным и разделенным, чтобы каждый класс обрабатывал только ту информацию, которую он должен иметь, и не делал ничего большего, чем должен. Если вы обнаружите, что класс выполняет слишком много задач, это означает, что вы нашли подходящее время для создания другого класса, который бы справился с этой новой обязанностью. Как вы все это связываете, как правило, проблема решается с помощью «шаблонов дизайна» Есть очень хорошая книга, которая охватывает как программирование с использованием объектов и классов, так и использование шаблонов проектирования.
Ознакомьтесь с книгой Мэтта Зандстры "Объекты, шаблоны и практика PHP 5", опубликованной Apress. Это замечательная книга, которая погружает ваши пальцы в ООП с PHP!