
php
文章平均质量分 77
tjjingpan
这个作者很懒,什么都没留下…
展开
-
php7实践指南-ch18MVC与ThinkPHP框架_模版
18.7 模板模板定义了一组数据的显示方式,控制器可以给模板赋值,模板将其显示到视图界面。通过一些特定的模板标签可以灵活控制视图中的数据展现。18.7.1 模板赋值与变量输出前面只是在控制器方法里面直接输出,而没有使用视图模板功能,现在就来了解一下如何把变量赋值到模板并渲染输出。ThinkPHP使用assign方法对模板数据进行赋值。例如,修改User控制器的index方法:application/index/controller/user.php文件内容<?phpname原创 2021-02-05 17:45:27 · 280 阅读 · 1 评论 -
php7实践指南-ch18MVC与ThinkPHP框架_模型
18.6 模型模型是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取度读取数据。模型中定义了一些操作数据库的常用方法。18.6.1 模型定义ThinkPHP 5.0的模型是一种对象-关系映射(Object/Relation Mapping, ORM)的封装,并且提供了简洁的ActiveRecord实现。一般来说,每个数据表会和一个“模型”对应。ORM的基本特性就是表映射到记录,记录映射到对象,字段映射到对象属性。模型是一种对象化的操作封装,而不是简单的CURD操作。简原创 2021-02-04 09:39:52 · 224 阅读 · 0 评论 -
php7实践指南-ch17PHP处理XML和JSON
XML是一种数据的表现形式,在信息交换和传递中起到非常重要的作用,比如在微信公众账号的开发中,开发者服务器接收和向用户发送消息都使用XML作为数据的公用格式。许多语言都支持对XML的操作处理,PHP借助一些扩展也可以实现对XML的操纵。XML和HTML类似,都使用“<”和“>”括起来的标签来标记文本,所不同的是XML更为灵活,你可以自主定义标签,而不必像HTML那样要使用诸如<a> <img>等一些规定的标签。17.1 生成XML17.1.1 由字符串或数组遍历生原创 2021-02-03 08:39:31 · 325 阅读 · 0 评论 -
php7实践指南-ch16PHP操作redis
安装phpredis扩展<?php$redis = new redis;if(!$redis->connect('172.16.1.122',6379)){ echo "连接redis服务失败,原因主机或端口错误";}if(!$redis->auth('admin123/')){ echo "连接redis服务失败,原因认证失败";}$redis->set('test','hello');echo $redis->get('test.原创 2021-02-02 14:44:21 · 180 阅读 · 1 评论 -
php7实践指南-ch16PHP与Redis数据库安装配置
Redis是一种kev->value的缓存型数据库,使用内存存储数据,写入读取的速度非常快,常用于高速缓存。在一些高并发、大流量的网站系统中,常将Redis作为消息队列使用,用于减轻MySQL的读写压力。并且Redis提供的数据类型能够满足绝大多数应用场景,支持数据持久化、主从同步等。16.1 关系型数据库与非关系型数据库在第15章我们详细介绍过MySQL数据库的使用。MySQL是一种关系型数据库,我们可以把关系型数据库看成一个Excel表格,其中存储行、列的对应关系。关系型数据库能满足编程中原创 2021-02-01 21:48:47 · 223 阅读 · 0 评论 -
php7实践指南-ch15MySQL数据库的使用PHP操作MySQL数据库
PHP与MySQL是在编程中经常搭配使用的。在一般的网站架构模式中经常采用LAMP的形式,即Linux、Apache、MySQL、PHP,包括近年来兴起的LNMP, N即代表将其中的Apache服务器换成Nginx服务器。在PHP 5.x的版本中支持三种PHP扩展方式连接数据库:MySQL、MySQLi和PDO。在PHP 7中去掉了纯面向过程的MySQL连接数据库的方式。下面分别介绍MySQLi和PDO连接操作数据库的内容。15.7.1 MySQLi连接操作数据库MySQLi支持面向过程和面向对原创 2021-01-26 09:13:16 · 457 阅读 · 0 评论 -
php7实践指南-ch15MySQL数据库的使用
15.1 MySQL数据库基础MySQL是最流行的关系型数据库管理系统,在Web应用方面常用,且是免费的。关系型数据库中数据以表格的形式出现,每行为各种记录名称,每列为记录名称所对应的数据域。许多的行和列构成一张数据表,许多的表组成一个数据库。MySQL把数据存储在表格中,使用结构化查询语言SQL来访问数据库。MySQL具有以下特点:(1)MySQL是开源的,所以你不需要支付额外的费用。(2)MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库。(3)MySQL使用标准的SQL数原创 2021-01-25 14:32:36 · 254 阅读 · 0 评论 -
php7实践指南-ch14Cookie与Session-Session详解
14.2 Session详解负载均衡中使用Redis实现共享Sessionhttps://segmentfault.com/a/1190000011558000PHP session有效期session.gc_maxlifetime的设置方法https://www.cnblogs.com/luowei/p/5294835.html原创 2021-01-23 10:42:04 · 209 阅读 · 0 评论 -
php7实践指南-ch13目录文件文件上传
在开发中经常需要通过PHP向服务器上传一些文件,比如用户头像、商品图片等。13.4.1 上传文件配置上传文件时需要配置php.ini中的几个参数,如表13-2所示。假设要上传一个50MB的大文件,配置php.ini文件:注意,需要保持memory_limit > post_max_size > upload_max_filesize。13.4.2 上传文件示例upload.html里的文件代码如下:<html><head>&l.原创 2021-01-21 11:17:48 · 202 阅读 · 0 评论 -
php7实践指南-ch13目录文件文件指针
PHP可以实现文件指针的定位及查询,从而实现所需信息的快速查询。指针的位置就是从文件头部开始的字节数,默认的文件指针通常存在于文件头或结尾,可以通过PHP提供的fseek()、feof()和ftell()等函数对指针位置进行操作。● rewind()倒回文件指针的位置,语法如下function rewind ($handle) bool其作用是将handle的文件位置指针设为文件流的开头。● fseek()在文件指针中定位,语法如下:function fseek ($handle原创 2021-01-21 10:46:42 · 186 阅读 · 0 评论 -
php7实践指南-ch13目录文件文件操作
13.2 文件操作文件操作是PHP编程中经常使用到的,本节介绍与文件操作有关的函数。13.2.1 打开文件要对文件进行操作,首先要打开文件。在PHP中使用fopen()函数打开文件,语法如下:function fopen ($filename, $mode, $use_include_path = null, $context = null) false|resource参数filename是被打开的文件路径,mode是打开文件的模式。fopen中打开文件的mode可选值如表13-1所示原创 2021-01-20 17:07:40 · 166 阅读 · 0 评论 -
php7实践指南-ch13目录文件操作目录
13.1 目录查看文件时一定会涉及目录操作,本节介绍与目录操作有关的函数。13.1.1 判断文件类型可使用filetype确定文件的类型,语法格式如下:function filetype ($filename) false|string说明:filename表示文件的路径,该函数返回文件的类型,可能的值有fifo、char、dir、block、link、file和unknown。如果出错,就返回false。如果调用失败或者文件类型未知,filetype()还会产生一个E_NOTICE消息原创 2021-01-19 16:50:05 · 155 阅读 · 0 评论 -
php7实践指南-ch12图像处理图像验证码
12.4 图像验证码图像验证码就是在一张图片上写上几个字符,并辅之以一些干扰元素(通常为像素点和斜线)。图像验证码经常用在用户登录、论坛发帖等场景中,其目的是为了防止机器人(程序)自动操作,验证此次行为是由用户来完成的。以下示例为一个生成验证码的文件code.php:<?phpfunction random($len){ $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; mt_srand(); $strs="";原创 2021-01-19 11:15:36 · 200 阅读 · 0 评论 -
php7实践指南-ch12图像处理图片处理
12.3 图片处理本节介绍图片的复制旋转和图片水印处理。12.3.1 复制图像imagecopy可用来复制图像,语法如下:function imagecopy ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h) bool此函数的作用是将src_im图像中坐标从(src_x, src_y)开始、宽度为src_w、高度为src_h的一部分复制到dst_im图像中坐标为(dst_x, dst_y)的位置上。示原创 2021-01-18 15:05:18 · 187 阅读 · 1 评论 -
php7实践指南-ch12图像处理图像绘制
PHP中的GD库可用于创建和处理图片,一般通过以下4个步骤对图像进行操作。(1)创建画布。(2)在画布上绘制图形。(3)保存并输出结果图像。(4)销毁图像资源。12.2.1 创建画布使用imagecreate()函数可创建一个基于调色板的图像。语法如下:function imagecreate ($width, $height) false|resourceimagecreate() 返回一个图像标识符,代表了一幅大小为x_size和y_size的空白图像。下面的示例演示原创 2021-01-18 11:54:36 · 617 阅读 · 0 评论 -
php7实践指南-ch12图像处理获取图像信息
PHP并不仅限于创建HTML输出,也可以创建和处理包括GIF、PNG、JPEG、WBMP以及XPM在内的多种格式的图像。更加方便的是,PHP可以直接将图像数据流输出到浏览器。要想在PHP中使用图像处理功能,需要连带GD库一起来编译PHP,可以通过访问phpinfo()函数查看是否安装了GD库。GD库和PHP可能需要其他的库,这取决于你要处理的图像格式。你可以使用PHP中的图像函数来获取下列格式图像的大小:JPEG、GIF、PNG、SWF、TIFF和JPEG2000。12.1 获取图像信息可以通过原创 2021-01-16 10:56:50 · 304 阅读 · 0 评论 -
php7实践指南-ch11 错误异常处理
11.1 异常处理异常处理是在一些可能发生错误的程序中抛出一个错误,以避免程序的中断执行,用户可捕获异常并做相应处理。因为在编写程序的过程中,很多情况下会发生一些未知的错误,比如接口返回数据的悲观预测、网络请求的延迟或断开、连接数据库失败等。11.1.1 异常类PHP中提供了一个异常类Exception, Exception是所有异常类的基类。Exception类中的属性和方法如下:关于该类中属性和方法的说明如下:属性:● Message异常消息内容。● Code异常代码。●原创 2021-01-15 17:08:35 · 250 阅读 · 0 评论 -
php7实践指南-ch10在php中使用正则表达式
10.3在PHP中使用正则表达式可实现对数据元素的搜索替换分割等操作。PHP中有多个函数可供使用。10.3.1 匹配与查找1. preg_match()函数preg_match()函数根据正则表达式的模式对字符串进行搜索匹配,语法如下:function preg_match ($pattern, $subject, array &$matches = null, $flags = 0, $offset = 0) false|int说明:其中,pattern是要搜索的模式,例如原创 2021-01-14 17:20:29 · 256 阅读 · 0 评论 -
php7实践指南-ch10正则表达式语法
10.1 正则表达式的用途典型的搜索和替换操作要求提供与预期的搜索结果匹配的确切文本。虽然这种技术对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,采用这种方法搜索动态文本将会变得比较困难。正则表达式可以让你灵活地从字符串中匹配出特定格式的文本。通过使用正则表达式,可以测试字符串内的模式。例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。替换文本,可以使用正则表达式来识别文档中的特定文本、完全删除该文本或者用其他文本替换。基于模式匹配从字符串中提原创 2021-01-14 16:17:59 · 149 阅读 · 0 评论 -
php7实践指南-ch9类与对象-类中的关键字
类中的关键字final、clone、instanceof、“==”、“===”。9.6.1 final关键字子类可覆写父类中的方法,但是在有些时候并不希望父类中的方法被重写,这时只需要在父类中的方法前加上final控制符,该方法便不能被子类重写,否则会报错。例如,下面的代码就不是一个合法的PHP脚本:<?phpclass father{ final function test(){ echo "test";}}class son extends father原创 2021-01-12 10:24:27 · 102 阅读 · 0 评论 -
php7实践指南-ch9类与方法-抽象类和接口
9.5 抽象类和接口抽象类和接口都是不能被实例化的特殊类,可以在抽象类和接口中保留公共的方法,将抽象类和接口作为公共的基类。9.5.1 抽象类创建一个抽象类可使用关键词abstract,语法格式如下:创建一个抽象类可使用关键词abstractabstract class class_name{ abstract public function func_name1($arg1,$arg2); abstract public function func_name2($原创 2020-12-29 15:46:05 · 150 阅读 · 0 评论 -
php7实践指南-ch9类与方法-自动加载
9.4 自动加载很多时候写面向对象的应用程序时对每个类的定义建立一个PHP源文件。一个很大的烦恼是不得不在每个脚本开头写一个长长的包含文件列表(每个类一个文件),对于每一个类文件都需要使用require或者include引入。PHP中提供了两个可用来自动加载文件的函数__autoload()和spl_autoload_register()函数。9.4.1 __autoload() 方法当在代码中尝试加载未定义的类时会触发__autoload()函数,语法如下:void __autoload原创 2020-12-29 14:48:42 · 157 阅读 · 0 评论 -
php7实践指南-ch9类与方法-魔术方法
9.3 魔术方法9.3.1 __set()和__get()方法1. __set()方法__set()方法在代码试图要给未定义的属性赋值时调用,或在类外部修改被private修饰的类属性时被调用。它会传递两个参数:属性名和属性值。代码示例<?phpclass magic{ private $_name; private $_age='22 years old'; function __set($key,$value){ echo 'exec原创 2020-12-29 13:59:30 · 132 阅读 · 0 评论 -
php7 新特性
OPP类型声明PHP 7提供了一些OOP新特性,这些新特性可以让工程师写出更加清晰、有效的代码。在本节中,我们将详细介绍这些新特性。类型声明在使用PHP 7之前,我们在函数和类之间传递参数时不必声明变量类型。同样地,在返回数据时也不必声明变量类型。任何数据类型都可以被传递、返回。这样便给PHP带来一个很大的问题——PHP不清楚你传递的是什么类型的变量,函数、方法接收到的变量也不知道是什么类型。为了解决这个问题,PHP 7引入了类型声明,目前明确的有两类变量可以声明类型:形参、返回值。接下原创 2020-12-28 17:29:16 · 226 阅读 · 0 评论 -
tp5.1 No input file specified.
对于tp5 No input file specified. 的问题,其实是 .htaccess文件的配置问题源文件是这样的<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ inde...原创 2020-12-28 13:32:51 · 179 阅读 · 0 评论 -
php设计模式代码
示例代码<?php/* * *单例模式 *工厂模式 *注册树模式 * * **///单例模式class Site{ //属性 public $siteName; //本类的静态实例 protected static $instance = null; //禁用掉构造器 private function __construct($siteName) { .原创 2020-12-25 15:43:32 · 170 阅读 · 0 评论 -
tp5.1 配置技巧
用config目录取代了config.php文件 一级配置名称就是配置文件的名称 路由配置route.php完全独立出来了 模块配置与应用配置完全独立不再合并示例代码<?phpnamespace app\admin\controller;use think\facade\Config;class User{ public function get() { //获取全部配置项 //du.原创 2020-12-25 13:52:16 · 293 阅读 · 0 评论 -
php7连接mysql方式
实例 (MySQLi - 面向对象)实例 (MySQLi - 面向过程)实例 (PDO)原创 2017-08-18 11:52:13 · 969 阅读 · 0 评论 -
php7连接mysql数据库的两种方式
student数据库中的tb_user表中的数据表结构_____________________________________________________________________________________________________________原创 2017-08-18 11:52:10 · 1360 阅读 · 0 评论