第二天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. icomoon图标的使用

    这里的图标可以自己定义 网址:https://icomoon.io/app/#/select/ 定义完后,自己下载下来 引用:    <link href="css/style.css ...

  2. AFNetworking 与 gbk 编码格式后台数据的使用

    仅针,后台数据为GBK编码时的AFNetWorking 使用情况: 1. Request failed: unacceptable content-type: text/html     soluti ...

  3. 利用SQLite_Expert实现Excel表转SqLite数据库

    1.保留excel数据中需要的字段,删除无关字段. 2.将excel另存为cvs格式文件.<另存名称如:jizhan.cvs 则导入后表名即为jizhan> 3.看下图,新建数据库,命名为 ...

  4. 原生js封装ajax,实现跨域请求

    描述: 需要ajax跨域请求,用cors跨域方案.服务端设置: header('Access-Control-Allow-Origin: http://front.ls-la.me'); header ...

  5. MVC 文件上传问题

    在用MVC作文件上传处理时,最开始是这样的. html代码 <div id="dialog" title="Upload files">       ...

  6. 【iBeacon】iBeacon前沿初探技术备忘

    iBeacon是工作在蓝牙4.0(BLE)硬件下的一种协议,属于蓝牙4.0广播协议的一种,通过该协议和一个蓝牙模块可以实现非接触的身份识别.位置检测等. How does BLE communicat ...

  7. Python 之旅

    Python2 之旅:   https://funhacks.net/explore-python/ <Python Cookbook>第三版   PYTHON3   http://pyt ...

  8. 如何在Linux上使用文件作为内存交换区(Swap Area)

    交换区域(Swap Area)有什么作用? 交换分区是操作系统在内存不足(或内存较低)时的一种补充.通俗的说,如果说内存是汽油,内存条就相当于油箱,交换区域则相当于备用油箱. Ubuntu Linux ...

  9. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  10. Gnome_Terminal

    快捷键 ctrl shift m 我自定义的快捷键,可以给终端命名 ctrl shift t 新建标签页,并且目录为当前目录 ctrl shift pageup 标签页往前移 ctrl shift p ...