php
php全面学习
June.1
人生在世须尽欢!
展开
-
laravel请求方法实战
GET请求URL:http://laravel.test.com/article/100/jxRoute::get('article/{id}/{name}','TestController@index');namespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use App...原创 2019-09-11 16:35:48 · 371 阅读 · 1 评论 -
laravel之Controller学习带参请求、别名设置、中间件应用、RESTful
1、使用artisan生成控制器#默认生成php artisan make:controller TestController #初始化生成不包含一些方法php artisan make:controller TestController --plain2、控制器与路由模块配合路由模块请求地址语义化自定义控制器使用@连接成员方法, 当前的方法就是请求地址执行的操作return ...原创 2019-09-10 13:23:24 · 748 阅读 · 1 评论 -
php中连接tcp服务的三种方式
首先需要现有一个 tcp 服务,我们使用 php中的 socket 系列函数实现<?php//创建socket套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);//设置阻塞模式socket_set_block($socket);//为套接字绑定ip和端口socket_bind($socket,'127.0.0....转载 2019-07-22 11:21:42 · 3749 阅读 · 1 评论 -
php三元表达式嵌套语法无误却执行结果不正确,下面是你忽略的正解
下面是我做过的一个案例 ,虽然问题简单但是容易造成误解:请看下面这个代码的执行结果$dirNum=69;$direction = $dirNum == 69 ? '东' : $dirNum == 87 ? '西' : '无';echo $direction; //结果: 西正常理解是不是应该结果为 东?那么为什么上面的程序执行结果是西,其实上面的程序本质是没有错误的。但是如果理...原创 2019-07-12 10:44:55 · 3933 阅读 · 1 评论 -
phpstudy轻松配置本地虚拟主机(Apache、Nginx)
Apache具体的步骤如下:点击其它选项菜单----->选择站点域名管理。如下图初始的时候,站点可能为空。然后你可以在网站域名里填上域名,网站根目录为你项目的根目录,有需要的话,也可以设置第二域名,网站端口可以自己设置,通常为80。设置完毕后,点击添加,左侧就会出现所添加的域名。然后点击保存设置并生成默认文件。作为例子,我添加的内容为:网站域名:www.beyong.co...原创 2019-06-12 12:57:10 · 4664 阅读 · 1 评论 -
一张图带你了解物联网协议栈
通信技术包括Wi-Fi:创建于IEEE 802.11标准的无线局域网技术RFID:通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。射频的话,一般是微波,1-100GHz,适用于短距离识别通信。NFC:一种新兴的技术,使用了NFC技术的设备(比如手机)可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)及互连互通技术整合演变而来,通过在...原创 2019-05-23 10:30:32 · 16304 阅读 · 1 评论 -
thinkphp5配置伪静态不成功如何解决?
如果配置的伪静态代码不管用直接使用带有入口文件的路由访问跳转页面如果访问home模块下面的Page控制器下面的index方法 404 Not Foundhttp://test.com/home/Page/index直接使用带有入口文件index.php的方式访问http://test.com?index.php/home/Page/index...原创 2019-05-16 16:24:02 · 16932 阅读 · 1 评论 -
使用use关键字 PHP:Fatal error: Class XXX not found in...
前面的namespace详细讲解介绍就不说了 如果还不了解请看namespace应用 、namespace的使用详解切记、切记、切记!使用namespace 时候不管是同一空间还是不同空间。在使用use 导入空间的类之前一定要保证类已经引入 include。因为这里的use 是使用这个类, 而导入过程就是把类引入到本文件中使用。 如果没有引入就会导致 not fond//必须引入文件...原创 2019-04-28 14:51:29 · 21992 阅读 · 3 评论 -
运行多个gatewayWorker实例
假设已有Applications/Chat,想增加Applications/Chat21、拷贝Applications/Chat到Applications/Chat22、更改Applications/Chat2/start_register.php中的端口,1236改为1237(或者改为其它未被占用端口)3、更改Applications/Chat2/start_businessworker....转载 2019-04-28 09:16:17 · 1432 阅读 · 1 评论 -
Windows平台配置phpredis环境
redis 配置Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘,解压后,将文件夹重新命名为 redis。Redis下载地址打开一个 cmd 窗口 使用 cd 命令切换目录到 D:\redis 运行:redis-server.exe redis.windows.conf如果想方便的话,可...原创 2019-08-08 15:17:22 · 482 阅读 · 1 评论 -
Redis缓存应该如何应用?
何时使用Redis缓存?日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求或者数据读写频繁比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成...转载 2019-08-07 11:08:41 · 2200 阅读 · 1 评论 -
入门级理解通俗Redis数据持久化的RDB和AOF两种模式
数据持久化什么作用?Redis的数据操作都在内存中,Redis崩掉的话,会丢失。Redis持久化就是对数据的更新异步的保存在磁盘上,以便数据恢复。RDB数据快照1 和数据快照2就好比两个小水盆, 磁盘就是一个大水桶。RDB模式就是直接把 水盆里的水倒入水桶中放置,空出水盆空间AOF一条数据一条日志, 在操作数据未存储到内存中。 磁盘先写入一条日志,即时写即时存数据...原创 2019-07-05 12:47:34 · 331 阅读 · 1 评论 -
一行命令安装laravel
首先要安装composercomposer : composer 包管理工具create-project:创建项目命令laravel/laravel:包名不用改动laravel-priject :自定义项目名称--prefer-dist "5.1.*":优先安装版本号composer create-project laravel/laravel laravel-priject --pr...原创 2019-08-20 17:11:06 · 810 阅读 · 1 评论 -
一条命令更新composer版本
composer self-update原创 2019-08-20 13:08:49 · 22407 阅读 · 2 评论 -
composer第三方包导入流程,出现Your requirements could not be resolved to an installable set of packages如何处理?
1、在指定的文件夹下创建composer.json文件,填写相关的配置代码下面是示例样式:require 引入 包名: endroid/qr-code | 版本号: 3.61{ "require": { "endroid/qr-code": "3.61" //定义依赖版本的格式 1.* 代表:1.几的版本 ^ 2.0.3代表:2.0.3以上版本 "v...原创 2019-08-20 11:04:18 · 92881 阅读 · 2 评论 -
一条命令修改composer中文镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com原创 2019-08-19 16:23:02 · 495 阅读 · 1 评论 -
使用laravel快速开发网站流程(composer)
一、下载安装composer1、composer官方下载地址2、安装中间的选项可以不用操作忽略掉直接下一步到安装结束3、完成cmd中输入composer出现下面的信息证明安装结束4、配置中文镜像快速down包 , 不需要的可以忽略这一步 。直接在cmd中输入命令命令地址二、laravel应用1、安装前面文章介绍过这里就不做过多讲解了, 这里记住larave...原创 2019-09-18 16:44:51 · 13988 阅读 · 1 评论 -
laravel使用全局中间件记录请求日志,局部中间件检测登录实用案例
1.生成中间件php artisan 创建中间件命令, laravel中有一个artisan 文件 创建文件目录:app\Http\Middlewarephp artisan make:middleware WriteLogMiddleware(中间件名称)2. 定义全局中间件app\Http\Kernel.php 打开这个文件...原创 2019-08-30 16:40:44 · 14755 阅读 · 1 评论 -
laravel报错:MethodNotAllowedHttpException in RouteCollection.php line 218
请求方式不对,测试这里是使用GET请求, 后端定义POST接收下面这个报错表示应该POST请求当前路径, 这种访问方式与后台定义的接收方式不一致。原创 2019-08-30 13:14:14 · 16204 阅读 · 1 评论 -
laravel路由使用以及需要注意伪静态的配置
路由的名字比较官方,按照通俗的理解可以想成是导航。 比如从古到今的饭店大部分都有跑堂的这么角色,来了顾客带领顾客去到他的包房或者餐桌这么个角色。不用想的多复杂路由在请求中的位置如图:路由模块存放位置项目目录下 app/Http/routes.phpRoute:: 可以看做是一个路由类, 底层并不是这么实现但是可以这么理解。get 客户端请求方式, get/post/put/dele...原创 2019-08-30 12:51:01 · 6147 阅读 · 1 评论 -
48条高效的php优化写法
一、 字符串少用正则表达式能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。没得说,正则最耗性能。str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。有没有你漏掉的好用的函数?例如:strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、...转载 2019-04-23 14:35:53 · 1099 阅读 · 2 评论 -
php类对象拷贝、类型约束、Trait
1.对象拷贝浅拷贝这样比较省空间。php默认是浅拷贝 //浅拷贝这样$b与$a共用一个内存空间。 class ObjCopy { public $age = 0; public $username = ''; // 对象属性 public $obj = null; } //调用 $a = new ObjCopy(); $b = $...原创 2019-03-26 15:58:50 · 273 阅读 · 0 评论 -
php引用传递
引用传递:将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址注:在函数调用时没有引用符号——只有函数定义中有。主要是实参和形参的相互影响性。引用传递:形参的改变会影响实参 , 值传递:赋值,不相互影响 。 按照按值传递的做法来传值时,如果需要原来的值发生改变,则需要在进行代...原创 2019-03-26 11:07:34 · 15945 阅读 · 1 评论 -
php类的__set()、__get()、__isset()、__unset()、__call()、__callStatic()、__invoke()
1.__set()、__get() 应用通过类中定义__set()、__get()魔术方法可以避免多个成员变量重复去定义get、set方法。使用原理当外部设置 $UserAppIndex->username=‘华山论剑’; 时调用 __set() 。当 $UserAppIndex->username; 时调用__get()方法注:这些魔术方法的参数都不能通过引用传递。重...原创 2019-03-26 09:45:00 · 15318 阅读 · 0 评论 -
__autoload()和spl_autoload_register()
一、__autoload()这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子:AutoLoad.php: <?php class AutoLoad { function getAoto() { echo 'hello world'; } } index.php: <?php function _...原创 2019-03-25 16:07:48 · 649 阅读 · 0 评论 -
php命名空间namespace应用
命名空间的实现跟我们系统目录文件的组织结构形式类似 , 一个目录下只能存在一个db.php文件。namespace关键字就是来定义类的空间区分。受命名空间影响的类型:类、接口、函数、常量 , 当然define()定义的常量是全局的,不受空间影响。如果使用命名空间定义常量要用 const注:\ 一个反斜杠是指全局命名空间。\venter 这个是指全局命名空间下的其他子命名空间。但是这...原创 2019-03-25 15:16:26 · 4356 阅读 · 1 评论 -
PHP命名空间(Namespace)的使用详解
注明:本文提到的常量:PHP5.3开始const关键字可以用在类的外部。const和define都是用来声明常量的(它们的区别不详述),但是在命名空间里,define的作用是全局的,而const则作用于当前空间。我在文中提到的常量是指使用const声明的常量。基础命名空间将代码划分出不同的空间(区域),每个空间的常量、函数、类(为了偷懒,我下边都将它们称为元素)的名字互不影响, 这个有点...转载 2019-03-25 11:13:41 · 670 阅读 · 1 评论 -
php封装PDO类
class pdoManager { private $conn = null; /** * 创建数据库链接对象 */ public function __construct($host,$user,$pwd){ try{ $this->conn = new PDO($host,$use...原创 2019-03-20 12:22:25 · 936 阅读 · 0 评论 -
php文件上传简单封装
下面贴上php文件上传的示例, /** * Class getFiles 文件上传 */ class getFiles { private $file; private $thisType; function __construct($file) { $this->file = $file; $...原创 2019-03-20 12:04:47 · 286 阅读 · 0 评论