首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

讲解-启动流程

https://codeigniter.org.cn/forums/thread-31030-1-1.html CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包...,它可以为开发者们建立功能完善的 Web 应用程序。...版本 >= 7.2 定义前端入口路径FCPATH 将当前路径修改为工作目录 加载并实例化项目路径配置类 app/Config/Paths.php 加载框架引导文件 bootstrap.php,并实例化框架核心类...CodeIgniter\CodeIgniter ,下文简称 CI 类,执行过程如下 执行 CI->run(),解析请求、路由,执行控制器并返回响应结果 框架引导文件 - System\bootstrap.php...CodeIgniter\CodeIgniter ,下文简称 CI 类,执行过程如下 执行 CI->run(),解析请求、路由,执行控制器并返回响应结果 框架引导文件 - System\bootstrap.php

2.5K10

讲解-加载静态页

控制器就是用来帮助你完成工作的一个简单的类,它是你整个 Web 应用程序的"粘合剂"。...Pages 类继承自 CodeIgniter\Controller 类,这意味着它可以访问 CodeIgniter\Controller 类 (system/Controller.php) 中定义的方法和变量...路由 控制器已经开始工作了!在你的浏览器中输入 [your-site-url]index.php/pages/view 来查看你的页面。...当获取到请求时,CodeIgniter 首先查找能匹配到的第一条规则,然后调用相应的可能存在参数的控制器和方法。 你可以在关于 URL路由的文档 中找到更多信息。...默认的路由文件 does 下存在一个处理网站根目录的路由 (/) 规则.删除以下的路由来确保 Pages 控制器可以访问到我们的 home 页面: $routes->add('/', 'Home::index

3.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    概述-服务

    Introduction CodeIgniter中的所有类均作为“服务”提供。这仅意味着,要对要调用的类进行硬定义,而不是对要加载的类名称进行硬编码,而是在一个非常简单的配置文件中定义它们。...当您想创建一个提供不同方式创建路由的替代品时,只需创建一个实现以下内容的新类RouterCollectionInterface: class MyRouter implements \CodeIgniter...// Implement required methods here. } 最后,修改/application/Config/Services.php以创建的新实例,MyRouter 而不是...由于服务文件是非常简单的类,因此轻松进行此工作。 renderer服务就是一个很好的例子。默认情况下,我们希望此类能够在中找到视图APPPATH.views/。...return self::getSharedInstance('routes'); } } 服务发现 CodeIgniter可以自动发现您可能在任何定义的名称空间中创建的任何ConfigServices.php

    1.7K10

    Codeigniter中对核心类的扩展

    Codeigniter框架提供了实现多个应用Application的方法,如参考资料[2]中描述的,这种方法实际上是在网站目录下存在多个入口文件和Application文件夹的方式。...Controller中的文件需要一些公共的方法,在Codeigniter中,当我们需要在所有的控制器Controller中添加一些公共方法时,可以考虑对Controller进行扩展。...那么我们能不能定义两个可被继承的Controller呢,例如一个叫做My_Controller一个叫做My_AdminController,很可惜的是不行。...Controller'.EXT)) 2: { 3: require APPPATH.'core/'.$CFG->config['subclass_prefix'].'...参考资料: 1、Extending Codigniter's Controller 2、Manage Applications 3、Codeigniter extends core class 4、Codeigniter

    1.9K20

    加速你的网络应用

    但是Codeigniter的gzip压缩选项打开后,view中输出时就不能再有 echo 语句,否则会发生如下的错误: Fatal error: ob_start() [ref.outcontrol]...这首先需要我们的服务器支持 gzip 压缩,这里我只是考虑 apache 2.x 的情况,apache 1.3 和 IIS 的情况,可以 Google 之。...的工作人员,确认了虽然服务器上有mod_deflate模块,但并不是给消费者使用的,我那个气愤呀。...因为每个图标的大小一般都很小,大概都不超过 2-3 kb ,整合成一个文件仍能够将文件大小控制在合理的范围之内。...参考资料: 1、Speed UP your web application by Codeigniter 2、HTTP输出Gzip的注意事项 3、Yahoo的34条前端优化规则 4、Google的前端性能最佳实践

    4.4K20

    概述-处理 HTTP 请求

    处理 HTTP 请求 为了充分地使用 CodeIgniter,你需要对 HTTP 请求和响应的工作方式有基本的了解。对于所有想要成功的开发者来说, 理解 HTTP 背后的概念是 必须 的。...当浏览器请求页面时,它会询问服务器是否可以获取该页面。然后, 服务器准备页面并将响应发送回发送请求的浏览器。就是这样简单,也可以说复杂些,但基本就是这样。 HTTP 是用于描述该交换约定的术语。...它可以告诉客户端响应成功(200),或者找不到页面(404)等等。 在 IANA 可以找到 完整的响应状态码列表 。...request->getHeader('Content-Type'); $request->getMethod(); // GET, POST, PUT 等等 request 类会在后台为你做很多工作...它为你提供一种简单而强大的方法来构造对客户的响应: use CodeIgniter\HTTP\Response; $response = new Response(); $response->setStatusCode

    1.9K10

    前后端分离跨域问题

    一、背景 最近在弄毕业设计啦,采用CodeIgniter4+Vue3来做的,前后端分离项目,首先便是跨域问题。一顿搜索无果后,自己折腾了一个解决方案,希望能帮助到看到这篇文章的你。...2.解决思路 最常见的方法便是把响应头设置为 Access-Control-Allow-Origin: * 但这样每个接口都要设置一遍,会比较麻烦。...3.实现 (1)在app下找到Filters文件夹,如果没有,请先创建; (2)在Filters文件夹下创建CorsFilter.php文件。 (3)写入以下代码 <?...setHeader('Access-Control-Allow-Headers', 'User-Token'); // 判断请求的方法是否为OPTIONS,如果为OPTIONS,则返回200OK,表示服务器可以接受该方法...ResponseInterface $response, $arguments = null) { // Do something here } } 四、注意事项 在创建过滤器文件中,不能删除后置过滤器

    2.6K30

    10个比较流行的PHP框架

    为什么?因为它可以安全地处理复杂的web应用程序,速度比其他框架快得多。 Laravel简化了开发过程,简化了常见的任务,比如路由、会话、缓存和身份验证。...它具有许多特性,可以帮助您定制复杂的应用程序。其中包括:无缝数据迁移、MVC架构支持、安全性、路由、视图模板引擎和身份验证等。...对于想要构建B2B或企业网站的开发人员来说,Laravel是一个不错的选择。 2. CodeIgniter ?...CodeIgniter以其占用空间小而闻名(包括文档在内,它的大小只有大约2mb),是一个适合开发动态网站的PHP框架。它提供了许多预构建的模块,帮助构建健壮的和可重用的组件。...这里有一点需要注意:CodeIgniter发行版有点不规则,所以对于需要高级安全性的应用程序来说,框架不是一个很好的选择。 3. Symfony ?

    13.2K20

    PHP面试题,面试必看!

    答:java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。...==Lavarel优点==: 1.支持Composer 2.框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效 3.支持处理跨站请求伪造,在进行form表单...能为开发者带来快速的快捷的工作。 ==CodeIgniter优点==: 1.Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。...2.配置简单,全部的配置使用PHP脚本来配置,执行效率高; 3.具有基本的路由功能,能够进行一定程度的路由; 4.具有初步的Layout功能,能够制作一定程度的界面外观; 5.数据库层封装的不错,...==CodeIgniter缺点==: 1.本身的实现不太理想。 2.内部结构过于混乱,虽然简单易用,但缺乏扩展能力。

    2K20

    -代码模块

    代码模块 CodeIgniter支持代码模块化组合,以便于你构建可重用的代码。模块通常来说是以一个特定主题为中心而构建的,并可被认为是在大型的程序中的一系列微型程序。...视图 命名空间 CodeIgniter所使用的模块功能的核心组件来自于 与PSR4相适应的自动加载 。...acme' ]; 当我们设置完以上流程后,就可以通过 Acme 命名空间来访问 acme 目录下的文件夹内容。这已经完成了80%的模块工作所需要的内容, 所以你可以通过熟悉命名空间来适应这种使用方式。...自动发现 很多情况下,你需要指名你所需要包含进来的文件的命名空间全称,但是CodeIgniter可以通过配置自动发现的文件类型,来将模块更方便地整合进你的项目中: Events Registrars Route...明确目录项目 通过 $activeExplorers 选项,你可以明确哪些项目是自动发现的。如果这个项目不存在,就不会对它进行自动发现流程,而数组中的其他成员仍旧会被自动发现。

    1.2K10

    痛心的CodeIgniter4.x反序列化POP链挖掘报告

    += ‘0’ except Exception as res: bins += ‘1’ if bins == ‘0000000’: break else: data += chr(int(bins, 2)...CI框架没有DEBUG模式,很难进行报错注入,而ThinkPHP存在DEBUG模式,可以进行报错注入。...CI框架只允许运行在PHP7.2及往上版本,而MySQL恶意服务器文件读取漏洞只能运行在PHP可以运行在刚刚好的PHP7.2.x。...而ThinkPHP3.2.3可以运行在PHP5与PHP7版本,ThinkPHP3.2.3的反序列化链路只能运行在PHP5.x上,放在PHP7.x会报错。...可是为什么提交给该厂商之前PHP7.2.可以运行,而厂商驳回后,PHP7.2.则无法运行了?相信大家心中也已经有了答案。 通过github的最后修改日期我们可以看到该厂商私自修复漏洞的日期。 ?

    4.9K20

    分享九款构建响应式网站的最佳PHP框架

    1 Symfony 2 Symfony是一个开源的PHP框架,它在速度和灵活性方面都兼具优势。它提供了一套解决特定工程问题的概念和工具,帮助广大开发者减少重复性工作。...2 Phalcon 如果你想提高网站速度,你可以试试Phalcon框架。基于C语言开发,也是目前市场上最快的一款PHP框架。...开发者不需要学习和使用C语言功能, 因为所有功能都以PHP类的方式暴露出来,可以直接使用。Phalcon也是松耦合的,可以根据项目的需要任意使用其它对象。 3 Laravel ?...5 CodeIgniter Codeigniter是一个非常简单且功能全面的Web开发构建包,其体积只有2MB。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。...它具有流线型的路由器、自定义视图呈现的模板渲染功能、安全cookies、flash消息和一个简单的配置过程、HTTP缓存、错误处理等。

    2.3K70

    【Laravel系列1】进入 Laravel 的世界

    在这其中,我们主要学习的就是 Laravel 框架,那么为什么是 Laravel 呢?明明 TP 、 Yii 也是很多人在使用的呀。...Yii 在之前还是在一家公司用过2、3年,当时是 1.6 版本的,之后换了一家公司也继续使用过 2.0 版本的用了很长一段时间。...目前在工作使用的,正是 Laravel 和 Hyperf 。 注:Hyperf 中很多东西也有 Laravel 的影子,甚至很多内容是可以无缝迁移的。 Laravel 优雅吗?...而 Laravel ,正是为了解决这个问题,将你的代码规范起来。或者说,在底层上,代码是很规范的,至于上层代码怎么样,就看你能不能有自己的规范了。当然,我们也不能忽略 PSR 系列规范的作用。...最底层的基础功能其实在 Laravel 中又是调用了这个底层的 Symfony2 框架,也可以说,Laravel 是对 Symfony2 的又一次优雅的封装。这种情况下,速度能快起来也是不太可能了。

    1.2K20
    领券