CI框架结构&配置

ci框架基础详解(入门学习) 1、ci框架介绍CodeIgniter 是为 PHP 开发人员提供的一套 Web 应用程序工具包。 它的目标是能够让你比从零开始更加快速的完成项目,它提供了一套 丰富的的类库来满足我们日常的任务需求,并且提供了一个简单的 接口和逻辑结构来调用这些库。CodeIgniter 通过最小化你需要的代码量, 让你把更多的精力放到项目的创造性开发上。CodeIgniter 通过 MIT 开源许可协议授权,你可 阅读详情
CI框架文件结构

1
system                框架程序目录  
2
   |-----core          框架的核心程序  
3
   |     |-----CodeIgniter.php   引导性文件  
4
   |     |-----Common.php    加载基类库的公共函数  
5
   |     |-----Controller.php    基控制器类文件:CI_Controller  
6
   |     |-----Model.php     基模型类文件:CI_Model  
7
   |     |-----Config.php    配置类文件:CI_Config  
8
   |     |-----Input.php     输入类文件:CI_Input  
9
   |     |-----Output.php    输出类文件:CI_Output  
10
   |     |-----URL.php       URL类文件:CI_URl  
11
   |     |-----Router.php    路由类文件:CI_Router  
12
   |     |-----Loader.php    加载类文件:CI_Loader  
13
   |-----helpers           辅助函数  
14
   |     |-----url_helper.php    url相关的辅助函数,如:创建url的辅助函数  
15
   |     |-----captcha_helper.php创建图形验证码的辅助函数  
16
   |-----libraries         通用类库  
17
   |     |-----Pagination.php    通用分页类库  
18
   |     |-----Upload.php    通用文件上传类库  
19
   |     |-----Image_lib.php 通用图像处理类库  
20
   |     |-----Session.php   通用session类库  
21
   |-----language          语言包  
22
   |-----database          数据库操作相关的程序  
23
   |     |-----DB_active_rec.php 快捷操作类文件(ActiveRecord)  
24
   |-----fonts         字库  
25
      
26
application           项目目录  
27
   |-----core          项目的核心程序  
28
   |-----helpers           项目的辅助函数  
29
   |-----libraries         通用类库  
30
   |-----language          语言包  
31
   |-----config            项目相关的配置  
32
   |     |-----config.php    项目相关的配置文件     
33
   |     |-----database.php  数据库相关的配置文件  
34
   |     |-----autoload.php  设置自动加载类库的配置文件  
35
   |     |-----constants.php 常量配置文件  
36
   |     |-----routes.php    路由配置文件  
37
   |-----controllers       控制器目录  
38
   |     |-----welcome.php   控制器文件,继承CI_Controller  
39
   |-----models            模型目录  
40
   |     |-----welcome_model.php 模型文件,继承CI_Model  
41
   |-----views         视图目录  
42
   |     |-----welcome.php   视图模板文件,默认后缀名为.php  
43
   |-----cache         存放数据或模板的缓存文件  
44
   |-----errors            错误提示模板  
45
   |-----hooks         钩子,在不修改系统核心文件的基础上扩展系统功能  
46
   |-----third_party       第三方库  
47
   |-----logs          日志  
48
  
49
|index.php             入口文件  



安装步骤

1)下载CI框架后,安装CI框架到项目,只需复制【application】【system】【index.php】【license.txt】文件到网站项目根目录;
2)【application/config/config.php】设置 【$config['base_url']】 变量为网站根目录url;
     如果是本地测试,使用‘localhost://website root url’,如:"localhost://iogames/";
3)【application/config/database.php】修改数据库连接信息;

安全上一般会把【application】【system】文件夹移出网站根目录,只保留【index.php】,同时为了保持【views】的公开,可以将【views】移回网站根目录;
1
​
2
|---website root
3
|      |----index.php
4
|      |----views
5
|
6
|---system
7
|---application
8
​
之后要更新【index.php】文件的 【$system_path】【application_folder】【$views_folder】变量;



MVC基本操作

CodeIgnitor是MVC分离的,这些mvc操作主要集中在【application】目录下;
【controller】储存控制器类,是路由的访问规则对象,是views和model之间的连接件;
【views】储存、渲染视图;
【model】储存模型,主要负责对数据库的操作;

【config/route.php】负责对controller路由访问规则的设置;



访问站点方法

CI中站点的访问是通过controller控制器类的方法来实现路由的,访问路由规则的设置在【config/route.php】中;
通常路由格式
http://example.com/[controller-class]/[controller-method]/[arguments]
实例
1
http://localhost/iogames/index.php/pages/showPage/3
访问根目录下的 iogames 项目目录中的 pages 控制器,调用其showPage方法,参数是3;

修改路由后缀
url中添加特定的后缀,例如.html后缀使你的应用程序更类似于一系列静态文件。
配置方法是,在【application/config/config.php】中,更改如下配置为:
1
$config['url_suffix'] = '.html';

移除URL中的index.php
Apache环境下
在网站根目录下创建一个.htaccess文件,编写以下否定条件:
1
RewriteEngine On
2
RewriteCond %{REQUEST_FILENAME} !-f
3
RewriteCond %{REQUEST_FILENAME} !-d
4
RewriteRule ^(.*)$ index.php

Nginx环境下
更改配置文件,在server段添加以下字段后重启web服务,
1
location /{
2
    try_files $uri $uri/ /index.php?$uri&$args;
3
}
1
location /{
2
   if (-f $request_filename) {
3
       expires max;
4
       break;
5
   }
6
   if (!-e $request_filename) {
7
       rewrite ^/(.*)$ /index.php/$1 last;
8
   }
9
}


部署站点500异常
部署站点之后,出现500异常,可以暂时将 index.php 中的 Environment 常量修改为 development,开启调试模式,查看输出的异常报告,再分析问题;
一般可能出现的情况:服务器php版本过低,CI支持php的最低版本为5.3;




Gitlab-CI入门配置 上面讲了文件如何编写以及其中的job执行顺序逻辑,那各个job实际的执行者是谁呢,答案就是,一般来说会和gitlab所在的服务器进行隔离,因为一个任务的构建、往往会执行编译、测试、发布的过程,这个过程会消耗大量的系统资源。几乎可以安装在任何的机器上,只要能和gitlab所在服务器及docker仓库服务器进行通信即可。一般来说,gitlab上已由负责人配置好了,我们只需要编写好文件提交代码即可触发runner进行工作。但对于初学者来说,你可能想能不能在提交代码前在本地先执行。 阅读详情

相关推荐

nodeJs配置gitlab-ci

今天来配置nodeJs的ci1.配置yml前端同事给的前端框架编译命令如下,不太懂,不管:# install dependencies $ npm install # Or yarn install # serve with hot reload at localhost:3000 $ npm run dev # build for production and launch server $...

qq_29424663的博客 3264

php ci文档,ci框架(二),ci框架

ci框架(二),ci框架自定义SQL语句当提供的API满足不了我们对SQL语句的要求的时候,我们通常是自己来写SQL语句,CI也提供了比较强大了,能够满足我们需求的一般的sql的API。$res=$this->db->select('id,name')->from('表名')->whrer('id >=',5)//注意id后面要有个空格->limit(3,2)/...

weixin_42099814的博客 749

php CI框架连SQLServer

1. 为php添加 sqlsrv 扩展 去微软官网 https://www.microsoft.com/en-us/download/ 搜索php , 点击 Microsoft Drivers for PHP for SQL Server  下载最新版的 sqlsrvXX.exe( 我下载的是SQLSRV32.EXE ) 运行解压, 得到一堆DLL, 选取适合自己php版本的dll,

周辉辉的专栏 6301

PHP CI框架框架学习与踩坑记录(3)

然后是对于这个数据库的更新,需要更新的列一定要写到$allowedFields中去,我就是中英文文档一起看,结果一个是text,一个是body,我一直忘记改了,导致body那列数据一直插不进去。弄到创建新闻项目这才发现我当前CI框架的版本好多函数都和4.0.0的不一样了,导致一直项目一直报错,查了半天看了英文文档才知道原来是版本更新导致许多函数用法发生了更迭,但是中文文档我目前只找到了4.0.0版本的,所以以后大部分估计要对照着英文文档来做了。

weixin_42633118的博客 332

CI框架的基本组件

CI (Continuous Integration) 是一种开发流程,其基本思想是在开发过程中集成单元测试、构建、自动化测试,并将所有代码合并到主干代码库的一种方式。由于集成后可以快速发现代码错误,提高产品质量,因此 CI 具有很高的实用性和收益。1.持续集成(Continuous integration): 是一种软件工程开发方法,是指在开发人员每完成一个功能或阶段性更新时,就进行编译、运行测试,并检查生成的程序或软件是否有错误。

AI天才研究院 2336

在github上配置使用CI

持续集成(Continuous Integration,简称CI)是一种软件开发实践,其核心思想是让团队成员频繁地将代码集成到共享的主干(版本控制仓库)中,并通过自动化的构建和测试流程,及时地发现和解决代码集成引入的问题。CI实践旨在提高开发效率、减少缺陷、加快软件交付速度,并确保软件质量。为什么要做持续集成呢?

小河先森的博客 958

GitLab CI 配置

GitLab CI 是 GitLab 提供的内置 CI/CD 工具,用户可以通过配置项目根目录的 .gitlab-ci.yml。文件来定义自动化的构建、测试、部署等流程。以下是详细的配置说明、文件路径和具体操作步骤。通过实践逐步熟悉 GitLab CI 的功能,你可以构建出适合团队需求的高效自动化流水线!:定义作业生成的文件以供后续作业使用。:限制作业运行的分支。:定义流水线的阶段。

pumpkin84514的博客 3327

CI框架2.2.0版中文用户手册CHM版

CodeIgniter 用户指南 版本 2.2.0,中文用户手册CHM版。该手册是我自己制作的,页面浏览、目录及索引均无乱码。支持中英文全文搜索,搜索结果标题也无乱码。适合随时查阅。 下载后打开有问题的朋友,请自行百度“chm 无法显示网页”。

php ci介绍,PHP-CI4系列-框架介绍

本文对CI4的整个框架做一下简单的介绍和补充,如果没有涉及的内容请参考其官网的用户手册。安装CI4安装有三种方式:下载安装、composer、git1.下载安装最快捷的方式,直接在官网上下载最新的包,解压后即可作为一个项目,在此基础上进行开发。解压后的目录如下:其中只要保留这些文件和文件夹即可:app、public、system、writable、.editorconfig、env、license...

weixin_34526733的博客 1254

保姆级教程:用U盘给浪潮服务器装系统(含RAID驱动加载技巧)

本文提供了一份详细的浪潮服务器U盘安装系统指南,重点介绍了RAID驱动加载技巧与实战步骤。从准备工作到系统安装全流程,涵盖RAID配置、驱动加载方法及常见问题排查,帮助用户高效完成服务器系统部署。特别强调RAID驱动与服务器型号的匹配性,确保安装过程顺利。

uuu88的博客 736

英雄联盟(MOBA)完整制作教程

这是一份从零到上线、可落地的 LOL 风格 MOBA 游戏开发全流程教程,覆盖策划、美术、程序、测试、运营全环节,适合独立团队或学习参考。

qq_35779316的博客 541

php ci框架结构,CI框架目录结构分析

application:具体项目开发目录;system:CI框架代码;user_guide:用户手册,和实现无关,删掉也不影响index.php:唯一的入口文件,除了这个文件外其他php文件都不能直接执行。index.php文件index.php是唯一的入口文件,里面主要逻辑是define一些常量,最后再require_once CodeIgniter.php核心文件。application目录:...

weixin_35729243的博客 400

FOC观测器之龙伯格观测器

状态观测器: 理论依据:根据控制理论,如果一个系统能够完全通过其检测到的输出值来重构其系统状态,则认为该系统是可观测的。其作用于无传感器转子的位置和速度的检测反馈,再作用到PARK逆变换和转矩磁链控制上。 Luenberger观察器原理图: Luenberger观测器的离散化: (其观测器的闭环参数为经验验证值) 引入估测电流( iα,iβ )的反馈值并离散化(T 为采样时间),可得...

ShawnChan的博客 2万+

个人踩坑记录Lighthouse ci & Lighthouse CI Server

Lighthouse ci & Lighthouse CI Server,性能分析平台

pppppkkk的博客 1030

LDO参数解读、特性、参考设计

目录 一、工作原理 二、基本参数解释 三、LDO的一些特性 1、输出自放电 2、软启动 3、LDO效率 4、动态负载调整(∆VOUT) 5、线性瞬态响应 6、压差(Dropout Voltage) 四、参考设计 1、输入输出电容选择 2、Layout参考 一、工作原理 LDO是Low Dropout Regulator的缩写,意思是低压差线性稳压器,下面是LDO的内部框图,大致的工作原理就是:参考电压Vref和反馈电压FB(VOUT通过两个电阻分压)分别接在误差放大器的反向和正向

记得诚 1万+

DeepLabv3+改进专栏

🔥【DeepLabv3+改进专栏!探索语义分割新高度】🌟 你是否在为图像分割的精度与效率发愁?📢 本专栏重磅推出:✅ 独家改进策略:融合注意力机制、轻量化设计与多尺度优化✅ 即插即用模块:ASPP+升级、解码器。

AIcurator的博客 2576

GitLab-CI环境搭建与SpringBoot项目CI配置总结

GitLab-CI环境搭建 #运行GitLab Runner容器 参考Run GitLab Runner in a container - Docker image installation and configuration 执行下述命令运行gitlab-runner容器。 docker run -d --name gitlab-runner --restart always \ ...

hyg0406的专栏 3151

使用Python与OpenCV实现基于霍夫变换的圆形缺陷检测与定位详细教程

本文详细探讨了如何使用Python和OpenCV库,通过图像边缘检测和霍夫变换实现圆形对象的检测与缺陷定位。我们不仅介绍了算法的基本原理,还通过具体的代码示例展示了如何在实际应用中实现这些技术。对于工业检测和医学影像分析,本文的方法提供了高效且易于实现的解决方案。随着图像处理技术的不断发展,未来我们可以期待更多新算法和新技术的应用,如深度学习与传统方法的结合,以及多传感器融合技术的引入,这将进一步提升缺陷检测与定位的效率和准确性。

qq_38334677的博客 1297

gitlab-ci.yaml 配置文件详解

通过 .gitlab-ci.yml配置任务 git仓库:https://github.com/Fennay/git... 此文档用于描述.gitlab-ci.yml语法,.gitlab-ci.yml文件被用来管理项目的runner 任务。 如果想要快速的了解GitLab CI ,可查看快速引导。 .gitlab-ci.yml 从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。 开始构建之前YAM

JineD的博客 1万+

【Flink on k8s】- 1 - Flink Kubernetes Operator 简介 2023

Flink Kubernetes Operator 可以与 Kubernetes 的其他功能和工具集成,可以帮助用户快速定位和解决问题。Flink Kubernetes Operator可以在Kubernetes上实现高可用性,以确保 Flink 集群的稳定性和可靠性。Flink Kubernetes Operator 可以快速地部署 Flink 集群,而无需手动配置和管理集群。Flink Kubernetes Operator可以将Flink集群与其他应用程序隔离,以避免资源争用和干扰。

欢迎来到我的博客,一起探索代码里的世界! 1348

第4章:外包接单全攻略——Upwork/电鸭/猪八戒从0到第一单

> - 三个外包平台的详细对比(适合人群、抽成、防骗) > - 每个平台的Profile优化模板(可直接复制修改) > - 用AI写Proposal的3个Prompt模板(我实测回复率提升50%) > - 报价策略与防骗指南(附5个危险信号) > - 我的第一单复盘:从注册到收款的全过程(含聊天记录脱敏)

sfishfly的博客 576

gitlab ci 配置

1gittlab,配置本地Git. 2 添加项目到CI(Continues Integration)中 ci-01.png 3 单击项目,进入CI页面中 第一次没有配置的情况下: ci-02.png 4 添加".gitlab-ci.yml"文件 ".gitlab-ci.yml"文件放在仓库的根目录下,用来设置gitlab项目的runner,每次在push的时候自动触发项目的b...

thinker 686

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

.gitlab-ci.yml 配置文件详解

git工具文档说明:https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html。

夏天的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

goveralls多CI平台支持:从Jenkins到GitLab CI的完整配置

goveralls是Go语言项目与Coveralls.io持续代码覆盖率跟踪系统的集成工具,能够帮助开发者轻松实现代码覆盖率的自动化收集与报告。本文将详细介绍如何在主流CI平台(包括Jenkins和GitLab CI)中配置goveralls,实现代码覆盖率的无缝集成。 ## 快速安装goveralls 要开始使用goveralls,首先需要在系统中安装该工具。goveralls要求Go 1.

gitblog_00074的博客 793
上一篇: 创建部署 Java Web 程序(Tomcat方式/Intellij IDEA方式)
下一篇: CI框架 email类发送邮件
Al_assad
博客等级 码龄11年 591粉丝 341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值