蓝冰大侠 发表于 2011-12-21 08:44

我的框架:简介


               
<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:SimSun" lang="zh-CN">本框架是针对本项目单独开发的</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:SimSun" lang="zh-CN">不以通用框架为目标</span><span style="font-family:Calibri" lang="en-US">.</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">只适用于</span><span style="font-family:Calibri" lang="en-US">MYSQL</span><span style="font-family:
宋体" lang="zh-CN">数据库</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">不适用于其它数据库</span><span style="font-family:
Calibri" lang="en-US">.</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.</span><span style="font-family:宋体" lang="zh-CN">设计目标是每天百万级访问量</span><span style="font-family:Calibri" lang="en-US">.</span><span style="font-family:宋体" lang="zh-CN">如访问量增长</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">需要对框架进行修改扩充</span><span style="font-family:
Calibri" lang="en-US">.</span></p>

<p style="margin:0in;font-family:宋体;font-size:10.0pt">&nbsp;</p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:宋体" lang="zh-CN">框架功能</span><span style="font-family:Calibri" lang="en-US">:</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.MVC</span><span style="font-family:宋体" lang="zh-CN">分离</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.controller</span><span style="font-family:宋体" lang="zh-CN">目录中存储控制器</span><span style="font-family:Calibri" lang="en-US">(controller)</span><span style="font-family:宋体" lang="zh-CN">类</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">文件命名为</span><span style="font-family:Calibri" lang="en-US">xxxx.controller.php
,</span><span style="font-family:宋体" lang="zh-CN">类命名为</span><span style="font-family:Calibri" lang="en-US"> Cxxxx </span><span style="font-family:
宋体" lang="zh-CN">统一继承控制器基类</span><span style="font-family:Calibri" lang="en-US">(SController)</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.model</span><span style="font-family:
宋体" lang="zh-CN">目录中存储模型</span><span style="font-family:Calibri" lang="en-US">(model)</span><span style="font-family:宋体" lang="zh-CN">类</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">文件命名为</span><span style="font-family:Calibri" lang="en-US">xxxx.model.php </span><span style="font-family:宋体" lang="zh-CN">类命名为</span><span style="font-family:Calibri" lang="en-US"> Mxxxx </span><span style="font-family:宋体" lang="zh-CN">统一继承模型基类</span><span style="font-family:Calibri" lang="en-US">(SModel)</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.view </span><span style="font-family:
宋体" lang="zh-CN">目录中存储视图</span><span style="font-family:Calibri" lang="en-US">(view)</span><span style="font-family:宋体" lang="zh-CN">文件</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">文件命名为</span><span style="font-family:Calibri" lang="en-US">xxxx.html</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">统一入口</span><span style="font-family:Calibri" lang="en-US">,index.php</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">定制开发的模板系统</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:宋体" lang="zh-CN">尽可能避免在页面中书写</span><span style="font-family:Calibri" lang="en-US">PHP</span><span style="font-family:宋体" lang="zh-CN">代码</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">模板语言尽可能与</span><span style="font-family:Calibri" lang="en-US">PHP</span><span style="font-family:宋体" lang="zh-CN">相同</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">以减少学习成本</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.</span><span style="font-family:宋体" lang="zh-CN">模板功能尽可能简单</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">以减少运行成本</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">模板文件会自动编译并缓存</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">编译后的文件存放在</span><span style="font-family:
Calibri" lang="en-US">cache</span><span style="font-family:宋体" lang="zh-CN">目录中</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">5.</span><span style="font-family:宋体" lang="zh-CN">具体功能请参考</span><span style="font-family:Calibri" lang="en-US">system/template.system.php</span><span style="font-family:宋体" lang="zh-CN">中的注释及源代码</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.Memcache</span><span style="font-family:宋体" lang="zh-CN">缓存功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:宋体" lang="zh-CN">集成了</span><span style="font-family:Calibri" lang="en-US">Memcache</span><span style="font-family:宋体" lang="zh-CN">功能</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">但可以使用配置开关进行管理</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">数据库访问自动集成缓存功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.</span><span style="font-family:宋体" lang="zh-CN">如需要独立的缓存功能</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">可调用</span><span style="font-family:Calibri" lang="en-US">SMemcache::getHandle()</span><span style="font-family:宋体" lang="zh-CN">方法</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">配置管理功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:宋体" lang="zh-CN">所有的配置文件存储在</span><span style="font-family:Calibri" lang="en-US">config</span><span style="font-family:宋体" lang="zh-CN">目录下</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">命名为</span><span style="font-family:Calibri" lang="en-US">xxxx.config.php,</span><span style="font-family:宋体" lang="zh-CN">文件格式为</span><span style="font-family:Calibri" lang="en-US">PHP</span><span style="font-family:宋体" lang="zh-CN">数组</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">系统配置文件为</span><span style="font-family:Calibri" lang="en-US">
system.config.php </span><span style="font-family:宋体" lang="zh-CN">其中包括核心配置</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.</span><span style="font-family:宋体" lang="zh-CN">应用配置文件为</span><span style="font-family:Calibri" lang="en-US">
application.config.php </span><span style="font-family:宋体" lang="zh-CN">其中包括项目应用逻辑的配置信息</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">还有一些其它的配置文件</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">为指定的功能所使用</span><span style="font-family:
Calibri" lang="en-US">.</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">5.</span><span style="font-family:宋体" lang="zh-CN">访问配置</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">使用</span><span style="font-family:Calibri" lang="en-US">SConfig</span><span style="font-family:宋体" lang="zh-CN">类的方法</span><span style="font-family:Calibri" lang="en-US">, </span><span style="font-family:宋体" lang="zh-CN">由于类比较简单</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">请参考源代码</span><span style="font-family:Calibri" lang="en-US"> system/config.system.php</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">5.</span><span style="font-family:SimSun" lang="zh-CN">数据访问层</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:宋体" lang="zh-CN">避免直接访问数据库</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:宋体" lang="zh-CN">所有的</span><span style="font-family:Calibri" lang="en-US">Model</span><span style="font-family:宋体" lang="zh-CN">类单例化</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.SModel</span><span style="font-family:
宋体" lang="zh-CN">基类已经实现了</span><span style="font-family:Calibri" lang="en-US"> </span><span style="font-family:宋体" lang="zh-CN">增</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">删</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">改</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">查的方法</span><span style="font-family:Calibri" lang="en-US"> insert,delete,update,select</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">复杂查询或修改</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">可使用</span><span style="font-family:Calibri" lang="en-US">query</span><span style="font-family:宋体" lang="zh-CN">及</span><span style="font-family:Calibri" lang="en-US">execute</span><span style="font-family:
宋体" lang="zh-CN">方法</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">5.</span><span style="font-family:SimSun" lang="zh-CN">具体使用</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:SimSun" lang="zh-CN">请查看</span><span style="font-family:Calibri" lang="en-US">system/model.system.php </span><span style="font-family:SimSun" lang="zh-CN">源代码</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">6.</span><span style="font-family:SimSun" lang="zh-CN">内部</span><span style="font-family:Calibri" lang="en-US">URL</span><span style="font-family:SimSun" lang="zh-CN">重写功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:SimSun" lang="zh-CN">由</span><span style="font-family:Calibri" lang="en-US">Apache</span><span style="font-family:SimSun" lang="zh-CN">将所有访问请求</span><span style="font-family:
Calibri" lang="en-US">(</span><span style="font-family:SimSun" lang="zh-CN">除去静态文件</span><span style="font-family:Calibri" lang="en-US">)</span><span style="font-family:SimSun" lang="zh-CN">定向到</span><span style="font-family:Calibri" lang="en-US">index.php</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.SRouter</span><span style="font-family:
宋体" lang="zh-CN">类负责解析</span><span style="font-family:Calibri" lang="en-US">URL,</span><span style="font-family:宋体" lang="zh-CN">并派发到相应的控制器</span><span style="font-family:
Calibri" lang="en-US">(controller)</span><span style="font-family:宋体" lang="zh-CN">的方法</span><span style="font-family:Calibri" lang="en-US">(action)</span><span style="font-family:
宋体" lang="zh-CN">中</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.</span><span style="font-family:宋体" lang="zh-CN">模板中使用</span><span style="font-family:Calibri" lang="en-US">url</span><span style="font-family:宋体" lang="zh-CN">方法生成具体访问地址</span><span style="font-family:
Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">禁止直接书写访问地址</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:宋体" lang="zh-CN">具体请查看</span><span style="font-family:Calibri" lang="en-US">system/router.system.php</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">7.JS</span><span style="font-family:SimSun" lang="zh-CN">及</span><span style="font-family:Calibri" lang="en-US">Ajax</span><span style="font-family:
SimSun" lang="zh-CN">相关</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:SimSun" lang="zh-CN">前端控制以</span><span style="font-family:Calibri" lang="en-US">Jquery</span><span style="font-family:SimSun" lang="zh-CN">为主</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:SimSun" lang="zh-CN">以直接</span><span style="font-family:Calibri" lang="en-US">DOM</span><span style="font-family:SimSun" lang="zh-CN">操作为辅</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">2.</span><span style="font-family:SimSun" lang="zh-CN">控制器基类</span><span style="font-family:Calibri" lang="en-US">SController</span><span style="font-family:SimSun" lang="zh-CN">已经实现一些常用的</span><span style="font-family:
Calibri" lang="en-US">Ajax</span><span style="font-family:SimSun" lang="zh-CN">配合功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">3.public.js</span><span style="font-family:SimSun" lang="zh-CN">中实现了主要的</span><span style="font-family:
Calibri" lang="en-US">JS</span><span style="font-family:SimSun" lang="zh-CN">功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">4.</span><span style="font-family:SimSun" lang="zh-CN">项目中的</span><span style="font-family:Calibri" lang="en-US">JS</span><span style="font-family:SimSun" lang="zh-CN">代码有两种</span><span style="font-family:
Calibri" lang="en-US">:</span><span style="font-family:SimSun" lang="zh-CN">临时功能直接书写在模板文件中</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:SimSun" lang="zh-CN">直接命名</span><span style="font-family:Calibri" lang="en-US">;</span><span style="font-family:SimSun" lang="zh-CN">共享功能书写在</span><span style="font-family:
Calibri" lang="en-US">public.js</span><span style="font-family:SimSun" lang="zh-CN">中</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:SimSun" lang="zh-CN">以</span><span style="font-family:Calibri" lang="en-US">luxury</span><span style="font-family:SimSun" lang="zh-CN">为命名空间</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">8.</span><span style="font-family:SimSun" lang="zh-CN">前端表单验证</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:SimSun" lang="zh-CN">可使用</span><span style="font-family:Calibri" lang="en-US">luxury.validate</span></p>

<p style="margin:0in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">9.</span><span style="font-family:宋体" lang="zh-CN">开发调试功能</span></p>

<p style="margin:0in;margin-left:.375in;font-size:10.0pt"><span style="font-family:Calibri" lang="en-US">1.</span><span style="font-family:宋体" lang="zh-CN">全局配置</span><span style="font-family:Calibri" lang="en-US"> debug</span><span style="font-family:宋体" lang="zh-CN">如开启</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">则所有页面下方会显示本次访问所产生的</span><span style="font-family:Calibri" lang="en-US">SQL</span><span style="font-family:宋体" lang="zh-CN">语句以及查询时间</span><span style="font-family:Calibri" lang="en-US">,</span><span style="font-family:宋体" lang="zh-CN">同时会在</span><span style="font-family:Calibri" lang="en-US">log</span><span style="font-family:宋体" lang="zh-CN">目录中生成访问日志</span></p>

<p style="margin:0in;font-family:宋体;font-size:10.0pt">&nbsp;</p>


               
               
               
               
               
               
               
页: [1]
查看完整版本: 我的框架:简介