
PHP
qq_38253703
这个作者很懒,什么都没留下…
展开
-
Thinkphp5使用Elasticsearch7.0(或以上)
Elastic 7.0以上的版本跟6.0的版本差距非常大,主要是没有type了,网上很多都是老版本的教程。导致我走了很多弯路。一、使用composer安装Elasticsearchcomposer require elasticsearch/elasticsearch二、新建一个文件ElasticSearch.php<?phpnamespace app\common\library;use Elasticsearch\ClientBuilder;use think\Config;原创 2020-11-05 11:09:18 · 1271 阅读 · 1 评论 -
tp5.1使用自定义中间件验证参数
之前写了一篇tp5.1重构参数校验层的文章,没看过的可以去看看tp5.1重构参数校验层比如,我们需要创建一个用户,则需要对用户名,密码、邮箱等参数进行校验,所以先创建个User验证器。代码如下:<?phpnamespace app\validate;class User extends Base{ protected $rule = [ 'username...原创 2020-04-19 20:33:02 · 1534 阅读 · 0 评论 -
PHP 多线程curl
function multi_post($urls, $params,$header){ //设置curl $chArr = []; for ($i = 0; $i < count($urls); $i++) { $chArr[$i] = curl_init($urls[$i]); curl_setopt($chArr[$i], C...原创 2020-04-16 15:38:56 · 382 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第6章
目标自定义全局异常重构Exception一、为什么要重构Exception接着上一章的例子<?phpnamespace app\ctrl;use app\validate\user as UserValidate;use Exception;class user{ public function get() { try { ...原创 2019-09-04 16:11:24 · 309 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第5章
目标实现类似于ThinkPHP框架的参数校验参数自动校验在\core\lib文件夹下新建文件Validate.php代码如下:<?phpnamespace core\lib;class Validate{ //参数验证规则 protected $rule = []; //参数验证失败返回的信息 protected $message = []...原创 2019-09-03 15:26:32 · 633 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第4章
目标本篇,我们的目标有三个:调整项目结构加载配置类添加日志类调整项目结构app内包含ctrl控制器、模型modelconfig内包含全局配置文件。core内包含框架的核心文件。lib内包含第三方库。log内存放日志文件。加载配置类在core目录中,新建conf.php,内容如下:<?phpnamespace core\lib;class conf{...原创 2019-09-02 20:21:18 · 273 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第3章
ComposerComposer 是 PHP5.3以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。本篇,我们...原创 2019-09-02 19:57:52 · 244 阅读 · 0 评论 -
从零开始打造自己的PHP框架――第2章
目标本篇,我们来实现类似与ThinkPHP的路由控制隐藏index.php在项目根目录下,添加.htaccess,内容如下:<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d Rewrit...原创 2019-09-02 19:41:39 · 306 阅读 · 1 评论 -
从零开始打造自己的PHP框架——第1章
目标本篇,我们来实现类库自动加载常规加载常规加载一般使用iinclude或者include_once,它们最根本的区别在于错误处理的方式不一样。include包括并运行指定文件。 include一个文件存在错误的话,那么程序不会中断,而是继续执行,并显示一个警告错误。include_once的作用和include_once几乎相同,唯一的差别在于导入之前会检查要导入的文件是否已经被导入过...原创 2019-09-02 19:22:31 · 612 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第0章
框架运行流程1、入口文件2、定义常量3、引入函数库4、自动加载类5、启动框架6、路由解析7、加载控制器8、返回结果index.php<?php/** * 入口文件 * 1.定义常量 * 2.加载函数库 * 3.启动框架 */define('EA', $_SERVER['DOCUMENT_ROOT']); //框架所在目录define('CORE', EA...原创 2019-09-02 18:59:17 · 339 阅读 · 0 评论