轻量级PHP框架的提示

时间:2010-10-25 17:26:22

标签: php design-patterns frameworks coding-style


我正在尝试为轻量级框架(在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 文件(设置,数据库,会话),然后包括 core.php 文件,该文件使用对象启动每个类。 当然这是一个综合。
我设计的所有东西都更加独立于核心,所以如果我需要,例如,一些设置,我只需要参考设置类(通过单例),而是调用核心,然后获取数据。

主要的问题是我不知道这种“风格”是否有利于我的目标,因为与其他主要框架相比,它对我来说看起来很不合适。我也不明白为什么每个人都使用诸如Implements,Extends,Interface或其他东西,我觉得比把所有内容放到一个具有公共和私有可见性或只使用函数的单个类更令人困惑。
我可以获得一些有助于实现目标的高级技巧,示例或其他任何内容吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

你看过CodeIgniter了吗?似乎做你正在做的一切。什么(看起来你正在尝试做)是创建一个加载和管理请求的超级对象。

答案 1 :(得分:0)

如果你想扩展,这里有一些比编码结构更重要的提示:

  • 可以轻松地将PHP代码作为静态HTML缓存到文件中,以避免不必要的数据库查询
  • 使数据库连接易于使用主/从配置
  • 轻松使用memcached

在编码结构成为问题之前,您需要使用这些类型的东西,至少从流量可扩展性的角度来看。从维护角度来看,这可能会更成问题。