第二天ci项目规划 前后台分离

1/31/2016 2:40:26 PM

前后台

  1. 表面上看前后台不同网站 但是数据是他们之间的联系要完成结构完整项目 设计好前后台 基于mvc框架 前后台那些地方不同 model公用 包括一些其他类和辅助函数可以公用
  2. 默认一个application 对应一个应用,如果需要前后台两个应用
    1. 比较简单方法 复制一份 application 更改名称 admin 同时编写admin.php作为入口文件 优点 简单 缺点 重复代码太多 类似创建两个应用
    2. ci框架控制器支持子文件夹application/controller/admin直接访问 localhost/citest/index.php/admin/hello/视图也支持子文件夹视图$this->load->view("admin/hello.html",$data) 这个类似tp
    3. 通常项目需求 ,前台网站支持换肤功能 前台视图单独拿出来处理
      1. 实现这一点 需要对核心库进行拓展或者替换核心类文件或者自己编写类文件

      2. 拓展核心类 拓展类必须由母类拓展而来 新拓展的类所在文件必须以MY_为前缀 文件放在 application/core下

      3. 步骤

        1. 网站根文件夹 下创建themes和 themes/default
        2. 定义一个常量 config/constants.php中define('THEMES_DIR',FCPATH.'themes/');
        3. 视图的加载 loader.php $this->ci_view_path = array(APPPATH.'views/' => TRUE);

          class MY_Loader extends CI_Loader { protected $_theme = 'default/'; public function switch_themes_on() { $this->ci_view_paths = array(THEMES_DIR.$this->_theme => TRUE); } public function switch_theme_off(){} }
      4. 哪里调用这两个方法 application/core/MY_Controller.php

         //定义前台总控制器
        class Home_Controller extends CI_Controller {
        public function __construct(){
        parent::__construct();
        $this->load->switch_theme_on();
        //开启皮肤功能
        } }
        //后台控制器
        class Admin_Controller extends CI_Controller {
        public function __construct(){
        parent::__construct();
        $this->load->switch_theme_off();
        //关闭皮肤功能
        }
        }
      5. 控制器通过子文件夹分离 前台放到controller根目录下 后台放到admin中 视图文件则分离 前台放到 网站根目录下 themes 且还支持子文件夹 后台使用默认view文件夹

第二天ci项目规划 前后台分离的更多相关文章

  1. 第二天ci项目规划 数据库设计

    第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...

  2. [ci]项目规划-后续

      几个方面来写   1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner   0,实现sonar ...

  3. CI框架3.0版本以后,前后台分离的方法。

    笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在C ...

  4. vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发

    在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请 ...

  5. Spring boot 前后台分离项目 怎么处理spring security 抛出的异常

    最近在开发一个项目 前后台分离的 使用 spring boot + spring security + jwt 实现用户登录权限控制等操作.但是 在用户登录的时候,怎么处理spring  securi ...

  6. luffy项目:基于vue与drf前后台分离项目(2)

    user模块User表 创建user模块 前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录 >: cd luffyapi & cd apps 2.创建app > ...

  7. NopCmmerce Area前后台分离

    Nop 前后台是独立的应用程序:使用用Area技术分离:Nop.Admin项目放在Nop.Web项目的administration文件夹下面,通过编辑类库输入路径到Nop.Web的Bin目录下面: 分 ...

  8. PMP备考指南之第二章:项目运作环境

    本文已同步至 GitHub/Gitee/公众号,感兴趣的同学帮忙点波关注~ 第二章:项目运作环境 1. 事业环境因素.组织过程资产 事业环境因素 Enterprise Environmental Fa ...

  9. 前后台分离的 NET Core 通用权限管理系统

    前言 从事软件开发这个行业现在已经有十几年了,项目无论大小权限认证.授权模块总是或多或少有功能需求的,这一块费时费力但是又存在于后台,使用最多的可能是运维人员所以处于出力不讨好的尴尬地位,每次有新的项 ...

随机推荐

  1. 转载:Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  2. 查找Linux中内存和CPU使用率最高的进程

    下面的命令会查看到按照RAM和CPU降序方式的前最高几名进程的列表: [root@iZ25pvjcsyhZ ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem ...

  3. MySQL 优化数据库对象

    一.考虑是用 procedure analyse() 函数对当前应用的表进行分析.字段类型是否可优化. 二.通过拆分提高表的访问效率. (A) 针对MyISAM表,有两种拆分方法: 垂直拆分:主码和某 ...

  4. 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...

  5. C# 验证类(使用正则表达式 验证文本框)

    using System; using System.Text.RegularExpressions; namespace SG_VQCDataCollection { /// <summary ...

  6. github添加ssh方法(windows版)

    生成一个新的SSH key 打开 git bash 输入  ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 输入一个文件 ...

  7. 使用spring的AOP时产生的异常

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService' ...

  8. MVC中使用Entity Framework 基于方法的查询学习笔记 (三)

    紧接上文,我们已经学习了MVC数据上下文中两个常用的类,这两个类承载着利用函数方式进行数据查询的全部内容,我们既然已经了解了DbSet<TEntity> 是一个泛型集合,并且实现了一些接口 ...

  9. ACM/ICPC 之 三维计算几何+暴力枚举+判重(HDU5839)

    CCPC网赛第八题,求立体几何数量,题解见注释 //立体几何-求满足要求的四面体个数 //要求1:至少4条边相等 //要求2:四条边相等时,另两条边一定不相邻(即对边) //题解:以当前边为不相邻的其 ...

  10. dom4j使用总结

    1.加载Xml 从文件加载 SAXReader reader = new SAXReader(); String filePath = "/xmlfile/" + fileName ...