Советы по легкому PHP Framework - PullRequest
       12

Советы по легкому PHP Framework

1 голос
/ 25 октября 2010


Я пытаюсь записать некоторые конкретные идеи для легкого фреймворка (на PHP5) с целью обработки большого количества запросов и обеспечения его хорошего масштабирования с точки зрения высокой вероятности трафика. Я уже запустил его, но меня не очень устраивает стиль кодирования, который в основном состоит из простых классов и помощников, а основной - для их загрузки.

class Settings {
    // I provide settings for everyone and I'm called by everyone via singleton.
     // $settings = instance(Settings);
}

class Database {
    // I provide the db connection.
}

class Session {
    // I handle the sessions.
}

[...]

class Core {
    // I start every class we need.
}

Структура является своего рода базовой. APP - это публичное дерево, SYSTEM - это приватное дерево.

app
 |-- css
 |-- js
 |-- page_name
       |-- index.php
 [...]

system
 |-- settings
 |-- libs
 |-- helpers
 |-- langs
 [...]

По сути, я задаю пути в константах в файле index.php , который вызывает файл boot.php , который включает в себя библиотеки, которые нам нужны (Настройки, Database, Session), а затем включает файл core.php , который запускает каждый класс с использованием объектов. Конечно, это синтез.
Я разработал все, чтобы быть более независимым от ядра, поэтому, если мне нужны, например, некоторые настройки, я просто обращаюсь к классу настроек (по одиночке), вместо этого вызываю ядро ​​и затем получаю данные.

Основная проблема заключается в том, что я не знаю, может ли этот «стиль» быть полезным для моих целей, потому что он выглядит для меня невежливым по сравнению с другими основными структурами. Я также не понимаю, почему все используют такие вещи, как Implements, Extends, Interface или другие, что мне кажется более запутанным, чем объединение всего в один класс с общедоступной и приватной видимостью или просто использование функций.
Могу ли я получить дополнительные советы, примеры или что-то еще, что может помочь в достижении моих целей?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 октября 2010

Если вы хотите масштабировать, вот несколько советов, которые важнее, чем структура кодирования:

  • Упростите кэширование кода PHP в файл в виде статического HTML, чтобы избежать ненужных запросов к БД.
  • Упростите для подключения к БД использование конфигурации master / slave
  • Упростите использование memcached

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

0 голосов
/ 25 октября 2010

Вы смотрели на CodeIgniter ?Кажется, делать все, что вы делаете.Что делает (и похоже, что вы пытаетесь сделать) - это создание суперобъекта, который загружает запросы и управляет ими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...