shop34-1-目录布局

存在项目的根目录shop34

框架代码与应用程序代码划分

框架代码:

各个应用程序间可以通用的代码。

应用程序代码:

当前项目的业务逻辑实现的代码。

分别创建两个子目录存储,框架与应用程序代码:

示例:框架内的代码:

入口文件在站点根目录

平台platform的划分

功能的聚合!

称为:模块module,分组group

辨析

前台,后台。

美工,程序。

需要将实例代码,作为测试test平台进行处理的话,应该为test平台建立平台子目录

MVC的划分

功能由MVC三部分实现的,因此将某个平台下,分成:

当前平台下的控制器,模型,视图文件进行分别管理!

例如

整体目录布局

Shop34/

Index.php入口文件

Application/应用程序目录

Front/前台

Back/后台

Test/测试平台

Model/模型

View/视图

Controller/控制器

Framework/框架代码目录

MySQLDB.class.php数据库操作类DAO

Factory.class.php工厂类

Model.class.php基础模型

Controller.class.php基础控制器类

shop34-2-运转-平台分发

运行起来

配置一个可以访问到shop34虚拟主机:

Apache/conf/extra/httpd-vhost.conf

Apache restart

Hosts

修改需要载入的文件路径

如果相对路径,注意当前目录。

当前目录不是代码所在文件的目录代码不是在文件中运行,而是在内存中)。

当前位置由浏览器所请的脚本来确定(当前PHP处理脚本,第一个处理的文件位置,被视为当前工作目录)。

可见单入口程序,所有的相对地址,都是相对于入口文件地址而言的。

分发参数p,确定当前平台

URL

测试平台比赛列表功能:

Index.php?p=test&c=Match&a=list

前台用户注册

Index.php?p=front&c=User&a=register

生成正确的URL

入口文件index.php处理:

Tip

分发参数共3

P平台目录)

C控制器类)

A动作(方法)

shop34-3-自动加载实现

自动加载

总结

控制器(可增加)

模型可增加)

框架核心类确定的)

对于所有的类,分成两方面考虑:

:可以确定的类。(当自动加载方法确定,类文件已经确定了)

:可以被增加的类。当自动加载方法确定时,没有办法确定

已经确定的类,采用最简洁的方式进行加载。

对于需要增加的类,需要通过类名规律,完成其位置的判断,进而完成自动加载。

规律是

XXXController结尾的,控制器类,在当前平台下controller目录将其载入

XXXModel结尾的,模型,当前平台下的model目录将其载入

编码实现:

入口中增加自动加载方法,并注册:

实现 userAutoload

核心类加载

增加类(控制器,模型):

测试

项目所有对类文件的加载都删掉!

shop34-4-路径常量

目录地址常量

项目中,使用目录常量的形式,管理项目中所需要的地址,通过拼凑,连接操作形成某个位置。

使用目录常量

作为项目的初始化阶段,开始初始化目录常量:

先确定根目录,再拼凑确定子目录

Index.php

Tip:函数getCWD()可以用来获得当前工作目录。CurrentWorking Directory

所有的涉及到文件地址的都有常量来完成:

更多相关文章

  1. 几个有用的php字符串过滤,转换函数代码
  2. 在Web Page中包含PHP代码
  3. PHP按照 年、月、日创建递归目录
  4. php is_dir 判断是否存在这目录
  5. php删除指定目录下的的文件/文件夹-用PHP怎么删除某目录下指定的
  6. php mail函数一段好的代码
  7. php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
  8. 用于上传多个文件的PHP代码
  9. (phpQuery)对网站产品信息采集代码的优化

随机推荐

  1. android appos 笔记
  2. [长姿势了]android:padding和android:mar
  3. Android Activity onConfigurationChange
  4. Android showDialog时报错requestFeature
  5. Android01之LinearLayout和RelativeLayou
  6. android实现卸载提示
  7. Android(安卓)Studio Note
  8. Android 分类法:六个类型,八种用户
  9. 浅析Android线程模型一 --- 转
  10. Android 疯狂足球游戏源码