随笔分类 - php
php知识
摘要:环境 Ubuntu 20.04 安装前准备 安装PHP软件依赖 sudo apt-get update sudo apt-get install libxml2-dev sudo apt-get install build-essential sudo apt-get install openssl
阅读全文
摘要:检测环境 查看已安装的扩展 php -m PHP CLI的php.ini文件的位置 php --ini 安装memcached扩展 方法一:apt命令安装 查找扩展包 apt-cache search memcached php 安装扩展包 sudo apt install php-memcache
阅读全文
摘要:1. 冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 代码实现: $arr=array(1,43,54,62,21,66,32,78,36,
阅读全文
摘要:使用 spl_autoload_register 以函数回调的方式实现自动加载 实例 /index.php <?php //自动加载方法 function set_autoload_function($class) { $class = explode('\\', trim($class)); $c
阅读全文
摘要:实例 <?php function func($a,$b) { echo "a:" . $a ."<br>"; echo "b:" . $b; } //直接方法名调用 call_user_func_array('func', [1,2]); echo "<br>"; class MyClass{ p
阅读全文
摘要:call_user_func实例 <?php function func($a,$b) { echo "a:" . $a ."<br>"; echo "b:" . $b; } //直接方法名调用 call_user_func('func', 1,2); echo "<br>"; class MyCl
阅读全文
摘要:php是一种单一继承的语言,trait能解决这一代码重用的问题,它能让开发者在多个不同的class中实现代码重用 用法 trait 定义类 use 使用 模拟多继承实例 <?php trait Animal { public function run(){ echo 'animal run'."<b
阅读全文
摘要:接口定义 interface 关键字定义的类就叫接口 接口实例 <?php //接口定义 interface Human{ //跑步 public function run(); //跳远 public function jump(); } //接口实现 class Person implement
阅读全文
摘要:抽象类含义 1 abstract关键字定义的类是抽象类。 2 有抽象方法的类是抽象类 abstract function 抽象类实例 index.php <?php //抽象类 abstract class Person { public $name; //抽象方法 abstract public
阅读全文
摘要:__get 对象访问受保护的属性,私有属性时,会触发__get魔术方法 <?php class Person{ //公有属性 public $name; //受保护属性 protected $age; //私有属性 private $sex; //对象访问age,sex属性会访问这个方法 publi
阅读全文
摘要:mvc目录结构 /mvc - app - constroller - IndexController.php - model - StudentModel.php - view - index.tpl - students.tpl - config - config.php - core - App
阅读全文
摘要:常用的设计模式:单例模式,工厂模式,观察者模式,适配器模式,依赖注入等 单例模式 //单例设计模式 class Singleton { //单例对象 private static $instance; private function __construct() { } public static
阅读全文
摘要:smarty安装 composer下载smarty composer require smarty/smarty 导入smarty,并创建smarty对象 //引入Smarty.class.php require_once('../vendor/smarty/smarty/libs/Smarty.c
阅读全文
摘要:使用intervention/image图片库进行图片操作 图片验证码 <?php //导入autoload.php自动加载 require '../vendor/autoload.php'; //导入ImageManager类 use Intervention\Image\ImageManager
阅读全文
摘要:官网 http://image.intervention.io 安装 composer require intervention/image 用法 //导入autoload.php自动加载 require '../vendor/autoload.php'; //导入ImageManager类 use
阅读全文
摘要:安装分页类库 composer require "jasongrimes/paginator:~1.0" 用法 index.php <?php require '../vendor/autoload.php'; use JasonGrimes\Paginator; $totalItems = 500
阅读全文
摘要:封装验证码类 /Code.php <?php /** * 验证码类 * 使用方法 * $code = new Code(); * $code->outImage();//输出验证码图片 * $code->code; // 获取验证码字符串 */ class Code{ //验证码个数 protect
阅读全文
摘要:PSR-4 composer.json { "name": "huyongjian/php", "autoload": { "psr-4": { "Huyongjian\\": "Huyongjian/", "Huyongjian\\Controller\\": "Huyongjian/Contro
阅读全文
摘要:命名空间基础使用实例 /Huyongjian/Controller/User.php <?php namespace Huyongjian\Controller; class User{ public function show(){ echo __METHOD__; } } /Huyongjian
阅读全文
摘要:throw 抛异常 throw new Exception('参数只能是数字') try...catch 异常 try { //抛异常的代码 } catch (Exception $e) { echo $e->getMessage(); } 实例 /src/TestException.php (抛异
阅读全文