php轻量化架构与编码约定_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php轻量化架构与编码约定

php轻量化架构与编码约定

 2017/9/30 11:43:00  afadgaeg  程序员俱乐部  我要评论(0)
  • 摘要:架构原则:一切都是对象,摒弃函数和全局变量。一切都有命名空间。具体实现:ROOT为站点根目录代码片段#ROOT/.htaccess#将请求从站点根目录转发到项目根目录RewriteRule.*/com/kb/$0[L]#ROOT/com/kb/.htaccess#约定ROOT/com/kb/app下为php文件所在目录,所有php请求转发到ROOT/com/kb/index.php#其余目录绝无php文件RewriteRule^app.*\.php$index.php[QSA
  • 标签:PHP 架构 编码


架构原则:
一切都是对象,摒弃函数和全局变量。
一切都有命名空间。

具体实现:
ROOT为站点根目录

代码片段
class="java">
#ROOT/.htaccess
#将请求从站点根目录转发到项目根目录
RewriteRule .* /com/kb/$0 [L]


#ROOT/com/kb/.htaccess
#约定ROOT/com/kb/app下为php文件所在目录,所有php请求转发到ROOT/com/kb/index.php
#其余目录绝无php文件
RewriteRule ^app.*\.php$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]


所有php文件如下约定:
除视图模块php和ROOT/com/kb/index.php外,其余php文件每个文件对应一个类,命名空间、类名和文件路径保持一致,比如ROOT/com/kb/app/Xxx.php命名空间为\com\kb\app

//ROOT/com/kb/index.php代码片段
//实现类自动装载的方法之一
namespace {

    function __autoload($classname) {
        $class_path = \str_replace('\\', DIRECTORY_SEPARATOR, $classname);
        $file = __DIR__ . '/../../' . $class_path . '.php';
        if (\file_exists($file)) {
            require_once($file);
            if (\class_exists($classname, false)) {
                return true;
            }
        }
        return false;
    }

}


在此基础上实现完全的MVC模式。

ROOT/com/fall下为常用的工具类集合
  • 大小: 30.3 KB
  • 查看图片附件
发表评论
用户名: 匿名