电子商城实录------项目目录的结构搭建及其说明3

《电子商城实录------项目目录的结构搭建及其说明2》中方法优化

Framework.class.php代码加入static:

<?php
//核心启动类
class Framework{
public static function run(){
echo "hello,wrold!";

}
//初始化方法
private static function init(){

//定义路径常量
define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().‘/‘);
define("APP_PATH",ROOT.‘application‘.DS);
define("FRAMEWORK_PATH",ROOT.‘framework‘.DS);
define("PUBLIC_PATH",ROOT.‘public‘.DS);
define("GONFIG_PATH",APP_PATH."config".DS);
define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.‘views‘.DS);
define("CORE_PATH",FRAMEWORK_PATH.‘core‘.DS);
define("DB_PATH",FRAMEWORK_PATH.‘databases‘.DS);
define("LIB_PATH",FRAMEWORK_PATH.‘libraries‘.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.‘uploads‘.DS);
//获取参数p ,c,a index.php?p=admin&c=goods&a=add
define(‘PLATFORM‘, isset($_GET[‘p‘])?$_GET[‘p‘]:"admin");
define(‘CONTROLLER‘,isset($_GET[‘c‘])?$_GET[‘c‘]:"Index");
define(‘ACTION‘,isset($_GET[‘a‘])?$_GET[‘a‘]:"index");

}
//路由方法
private static function dispatch(){

}
//自动加载
private static function autoload(){

}
}

?>

index.php的改进为:

<?php
//入口文件

//引入核心启动类
include ‘framework/core/Framework.class.php‘;
//$app=new Framework();
//$app->run();
Framework::run();

echo getcwd();

?>

我们做项目第一步就是做目录的路径常量

1.做根目录的路径常量:

define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().‘/‘);

第二步 做application目录

define("APP_PATH",ROOT.‘application‘.DS);

第三步  做framework目录

define("FRAMEWORK_PATH",ROOT.‘framework‘.DS);

第四步 做public路径常量

define("PUBLIC_PATH",ROOT.‘public‘.DS);

第五步   建立config目录

define("GONFIG_PATH",APP_PATH."config".DS);

其他目录以此类推:

我就不一一画图了

define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.‘views‘.DS);
define("CORE_PATH",FRAMEWORK_PATH.‘core‘.DS);
define("DB_PATH",FRAMEWORK_PATH.‘databases‘.DS);
define("LIB_PATH",FRAMEWORK_PATH.‘libraries‘.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.‘uploads‘.DS);

第六步  获取参数p  ,c,a

类比百度:

https://www.baidu.com/?tn=98010089_dg&ch=12

后面这种方式

http://localhost:8989/ index.php?p=admin&c=goods&a=add

//获取参数p ,c,a
define(‘PLATFORM‘, isset($_GET[‘p‘])?$_GET[‘p‘]:"admin");
define(‘CONTROLLER‘,isset($_GET[‘c‘])?ucfirst($_GET[‘c‘]):"Index");
define(‘ACTION‘,isset($_GET[‘a‘])?$_GET[‘a‘]:"index");

第七步设置当前控制器和视图

define("CUR_CONTROLLER_PATH",CONTROLLER_PATH.PLATFORM.DS);
define("CUR_VIEW_PATH",VIEW_PATH.PLATFORM.DS);

整体代码如下:

<?php
//核心启动类
class Framework{
public static function run(){
echo "hello,wrold!";

}
//初始化方法
private static function init(){

//定义路径常量
define("DS",DIRECTORY_SEPARATOR);
define("ROOT",getcwd().‘/‘);
define("APP_PATH",ROOT.‘application‘.DS);
define("FRAMEWORK_PATH",ROOT.‘framework‘.DS);
define("PUBLIC_PATH",ROOT.‘public‘.DS);
define("GONFIG_PATH",APP_PATH."config".DS);
define("CONTROLLER_PATH",APP_PATH."controllers".DS);
define("MODEL_PATH",APP_PATH."models".DS);
define("VIEW_PATH",APP_PATH.‘views‘.DS);
define("CORE_PATH",FRAMEWORK_PATH.‘core‘.DS);
define("DB_PATH",FRAMEWORK_PATH.‘databases‘.DS);
define("LIB_PATH",FRAMEWORK_PATH.‘libraries‘.DS);
define("HELPER_PATH",FRAMEWORK_PATH.helpers);
define("UPLOAD_PATH",PUBLIC_PATH.‘uploads‘.DS);
//获取参数p ,c,a
define(‘PLATFORM‘, isset($_GET[‘p‘])?$_GET[‘p‘]:"admin");
define(‘CONTROLLER‘,isset($_GET[‘c‘])?ucfirst($_GET[‘c‘]):"Index");
define(‘ACTION‘,isset($_GET[‘a‘])?$_GET[‘a‘]:"index");
//设置当前控制器和视图
define("CUR_CONTROLLER_PATH",CONTROLLER_PATH.PLATFORM.DS);
define("CUR_VIEW_PATH",VIEW_PATH.PLATFORM.DS);

}
//路由方法
private static function dispatch(){

}
//自动加载
private static function autoload(){

}
}

?>

原文地址:https://www.cnblogs.com/zhouxingzhi/p/10306821.html

时间: 2024-10-05 22:01:19

电子商城实录------项目目录的结构搭建及其说明3的相关文章

项目目录标准结构(前端)

(学习自慕课网中<所向披靡的响应式开发>课程中) 一.如何组织项目目录结构 1.约定优于配置 2.约定代码结构或命名规范来减少配置数量 (没有最好的组织方式,只有合适的组织方式) 样式放入CSS文件下,main.css是通用样式,normalize.css是引用样式,login是的登录样式. 脚本放入js文件下,main.js是通用脚本,vendor文件夹来存放第三方库和框架:压缩版可加上min前缀. othersrc为大.中型项目中,home为主页,login为登录页,customer为用户

电子商城开发之目录与数据库表的创建

1.前台功能---首页---品牌页面---商品详情---商品评论管理---购物车管理---结算页面---用户登陆和退出---个人中心管理---订单提交页面 2.后台功能---登陆系统---用户管理---分类管理---品牌管理---商品管理---订单状态管理---订单管理 ----------------------------------------------------------------------------------------- 数据库表的创建: user表: //用户管理表-

[Android系列—] 2. Android 项目目录结构与用户界面的创建

前言 在 [Android系列-] 1. Android 开发环境搭建与Hello World 这一篇中介绍了如何快速搭建Android开发环境, 并成功了建立一个没有任何代码更改的 Android 应用程序. 接下来, 就得看看 1. 使用 Eclipse  创建的APP 有哪些目录和文件 2. 如何创建一个比Hello World 高级的一个用户界面 appcompat_v7 在创建 MyFirstApp 的 Android 项目时, 会发现在项目路径下多出了一个 appcompat_v7

iOS开发总结——项目目录结构

1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web开发的目录习惯我整理了自己的目录结构.分享一下,欢迎交流. 2.我的项目目录结构 项目目录 ├── ThirdLib(三方库) │ ├── SDWebImage │ └── AFNetworking ├── Framework(自己封装的类库) ├── General(通用类目录) │ ├── Cl

百度Baidu EFE team的前端规范——项目目录结构规范

项目目录结构规范 简介 该文档主要的设计目标是项目开发的目录结构保持一致,使容易理解并方便构建与管理. 编撰 李玉北.erik.黄后锦.王杨.张立理.赵雷.陈新乐.刘恺华. 本文档由商业运营体系前端技术组审校发布. 要求 在本文档中,使用的关键字会以中文+括号包含的关键字英文表示:必须(MUST).关键字"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT"

[转]MVP+WCF+三层结构搭建项目框架

最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构的想法,经过了一段时间的改造,逐渐形成了MVP+三层结构+WCF的面向服务的程序架构.在这里我把我的想法写成了一个例子,供大家参考. 在正式开始讲解之前,我必须得感谢Artech.代震军等诸多大虾,他们的文章给了我很大的启发. 我写的这个例子是关于博客管理的,逻辑很简单,就是用户发表文章.发表评论,

Laravel项目目录结构说明

Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app.php |- autoload.php |- config 应用程序的配置文件. |- database 数据库迁移与数据填充文件. |- public 项目web入口和静态资源文件 (图片.js.css,字体等等). |-index.php 入口 |- resources 目录包含视图.原始的资

JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomcat的目录结构* bin目录:存放tomcat的启动和终止脚本 * startup.bat 启动脚本 * bootstrap.jar,启动脚本最终执行的java程序 * org.apache.catalina.startup.Bootstrap * shutdown.bat 终止脚本 * conf目录

基于Maven管理的JavaWeb项目目录结构参考

通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个人体会: 项目目录结构一旦约定和规范之后,每个团队成员自我约束和遵守规范才是整个目录结构不随项目的进展而变得越来越不清晰的根本.