PHP
qq_38253703
这个作者很懒,什么都没留下…
展开
-
Thinkphp5使用Elasticsearch7.0(或以上)
Elastic 7.0以上的版本跟6.0的版本差距非常大,主要是没有type了,网上很多都是老版本的教程。导致我走了很多弯路。 一、使用composer安装Elasticsearch composer require elasticsearch/elasticsearch 二、新建一个文件ElasticSearch.php <?php namespace app\common\library; use Elasticsearch\ClientBuilder; use think\Config;原创 2020-11-05 11:09:18 · 1204 阅读 · 1 评论 -
tp5.1使用自定义中间件验证参数
之前写了一篇tp5.1重构参数校验层的文章,没看过的可以去看看 tp5.1重构参数校验层 比如,我们需要创建一个用户,则需要对用户名,密码、邮箱等参数进行校验,所以先创建个User验证器。代码如下: <?php namespace app\validate; class User extends Base { protected $rule = [ 'username...原创 2020-04-19 20:33:02 · 1441 阅读 · 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 · 345 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第6章
目标 自定义全局异常 重构Exception 一、为什么要重构Exception 接着上一章的例子 <?php namespace app\ctrl; use app\validate\user as UserValidate; use Exception; class user { public function get() { try { ...原创 2019-09-04 16:11:24 · 268 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第5章
目标 实现类似于ThinkPHP框架的参数校验 参数自动校验 在\core\lib文件夹下新建文件Validate.php 代码如下: <?php namespace core\lib; class Validate { //参数验证规则 protected $rule = []; //参数验证失败返回的信息 protected $message = []...原创 2019-09-03 15:26:32 · 589 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第4章
目标 本篇,我们的目标有三个: 调整项目结构 加载配置类 添加日志类 调整项目结构 app内包含ctrl控制器、模型model config内包含全局配置文件。 core内包含框架的核心文件。 lib内包含第三方库。 log内存放日志文件。 加载配置类 在core目录中,新建conf.php,内容如下: <?php namespace core\lib; class conf { ...原创 2019-09-02 20:21:18 · 234 阅读 · 0 评论 -
从零开始打造自己的PHP框架——第3章
Composer Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。 本篇,我们...原创 2019-09-02 19:57:52 · 210 阅读 · 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 · 268 阅读 · 1 评论 -
从零开始打造自己的PHP框架——第1章
目标 本篇,我们来实现类库自动加载 常规加载 常规加载一般使用iinclude或者include_once,它们最根本的区别在于错误处理的方式不一样。 include包括并运行指定文件。 include一个文件存在错误的话,那么程序不会中断,而是继续执行,并显示一个警告错误。 include_once的作用和include_once几乎相同,唯一的差别在于导入之前会检查要导入的文件是否已经被导入过...原创 2019-09-02 19:22:31 · 572 阅读 · 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 · 306 阅读 · 0 评论