thinkphp5学习笔记(6)

模型和关联 ThinkPHP5.0 的模型是一种对象-关系映射(Object/Relation Mapping,简称 ORM )的封装,并且提供了 简洁的 ActiveRecord 实现。一般来说,每个数据表会和一个“模型”对应。 ORM 的基本特性就是表映射到记录,记录映射到对象,字段映射到对象属性。模型是一种对象化的操作 封装,而不是简单的 CURD 操作,简单……

thinkphp5学习笔记(5)

本章查询内容均配置了数据表前缀 think_ ,因此统一使用 Db 类的 name 方法代替 table 方法进行举例说明。 查询表达式 最普通的查询就是判断某个字段是否等于某个值,例如,我们查询 think_data 数据表中 id 等于1的数 据,用法如下: $result = Db::name('data') ->where('id', 1) ->fin……

thinkphp5学习笔记(4)

数据库 5.0 的数据查询由低到高分三个层次,本章会涉及到前面两个: 1. 数据库原生查询(SQL查询); 2. 数据库链式查询(查询构造器); 3. 模型的对象化查询; 在第一章已经提到,在使用 Db 类进行数据库查询之前,首先必须先创建一个控制器类,以及一个操作方法 用于测试,类似于: <?php namespace app\index\c……

thinkphp5学习笔记(3)

请求和响应 1、请求对象 ThinkPHP5 的 Request 对象由 think\Request 类完成。 Request 对象的一个主要职责是统一和更安全地获取当前的请求信息,你需要避免直接操作 $_GET 、$_POST 、$_REQUEST 、 $_SESSION 、 $_COOKIE ,甚至 $_FILES 等全局变量,而是统一使用Request 对象提供的方法来获取请求变量。 下面来举一个……

新版 Chrome 正式砍杀 Flash,HTML5 确定成为网页技术标准

从一开始表明要停用 Flash 技术,到之后确定要以 HTML 5 取代 Flash 做为网页技术的标准, 现在来到 12 月,Google 正式表明新推出的 Chrome 55 不再支持 Flash 技术,而从 Chrome 在浏览器的市占率达到近 55%来看,Chrome 的不再支持,也意味 Flash 的消失将更加快速。 今年8月,Google 在官方博客发布文章称:从9月份……

thinkphp5学习笔记(2)

1、URL访问 http://serverName/index.php/模块/控制器/操作 注意:模块在ThinkPHP中的概念其实就是应用目录下面的子目录,而官方的规范是目录名小写,因此模块全部采 用小写命名,无论URL是否开启大小写转换,模块名都会强制小写。 应用的 index 模块的 Index 控制器定义如下: <?php namespace app\index\control……

thinkphp5学习笔记(1)

1、默认程序入口文件 public/index.php 官方提供的application目录结构说明: 新建模块, php think build --module demo 为调试方便,把index.php从public目录移至根目录。然后修改index.php的内容,更改路径如下: // 定义应用目录 define('APP_PATH', __DIR__ . '/application/'); // 加载……

学习CodeIgniter框架之终篇:增删改查的简单实现

看了两天的文档,大体感觉就是ci封装了很多没什么用户的函数或类,也有不少 类库功能不是很完善。看到分页部分懵逼了一段时间才理解,都说他的分页很强大,没感觉出来,可能水平有限的问题。 先来看view部分: //create.php 插入数据库,直接用的官方的 <h2><?php echo $title; ?></h2> <?ph……

学习CodeIgniter框架之十五:分页类

分页类 CodeIgniter 的分页类非常容易使用,而且它 100% 可定制,可以通过动态的参数, 也可以通过保存在配置文件中的参数。 如果你还不熟悉 “分页” 这个词,它指的是用于你在页面之间进行导航的链接。像下面这样: << First < 1 2 3 4 5 >  Last >> 例子 下面是一个简单的例子,如何在你的……

学习CodeIgniter框架之十四:URI 路由、网页缓存

一般情况下,一个 URL 字符串和它对应的控制器中类和方法是一一对应的关系。 URL 中的每一段通常遵循下面的规则: example.com/class/function/id/ 但是有时候,你可能想改变这种映射关系,调用一个不同的类和方法,而不是 URL 中对应的那样。 例如,假设你希望你的 URL 变成下面这样: example.com/product/1/ example.……