PHP内置系统函数
发表于|更新于|PHP
|总字数:54|阅读时长:1分钟|浏览量:
| 系统函数 | 意义 | 备注 |
|---|---|---|
| function_exists | 系统或自定义函数 是否存在 | |
| class_exists | 类是否存在 | |
| method_exists | 类方法是否定义 | |
| property_exists | 类属性是否定义 | |
| empty | 类、变量、元素等是否为空 |
文章作者: Michael
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael's Blog!
相关推荐

2021-04-10
PHP 垃圾回收机制(GC)
一句话 PHP GC = 引用计数为主 + 循环引用收集器为辅。 引用计数归零立刻释放,解决不了的循环引用由后台收集器周期清理。 一、引用计数(refcount)PHP 的每个变量底层是 zval,里面有 refcount 和 is_ref 两个字段。 1234$a = 'hello'; // refcount = 1$b = $a; // refcount = 2 (写时复制,COW)unset($a); // refcount = 1unset($b); // refcount = 0 → 立即释放 用 xdebug_debug_zval() 或 debug_zval_refcount() 可以看到 refcount。 注意:PHP 7+ 的 zval 实现有重大改动(zval 嵌入栈、引用单独 zend_reference),但算法语义没变。 二、引用计数解决不了的:循环引用1234567891011class Node { public $next;}$a = new N...

2019-03-20
PHP自动加载类机制
自动加载 在 PHP 开发过程中,如果希望从外部引入一个 class,通常会使用 include 和 require 方法,去把定义这个 class 的文件包含进来; PHP5 提供了一个类的自动装载 (autoload) 机制。 autoload 机制可以使得 PHP 程序有可能在使用类时才自动包含类文件, 而不是一开始就将所有的类文件 include 进来,这种机制也称为 lazy loading。 123function __autoload($className) { echo '__autload class:', $className, '<br />';} 123function __autoload($className) { require_once($className . "class.php"); } autoload 至少要做三件事情: 根据类名确定类文件名; 确定类文件所在的磁盘路径 在我们的例子是最简单的情况,...

2023-03-05
instanceof 与 method_exists
instanceof與method_exists的用法區別。參考StackoverFlow instanceof為保留關鍵字,用於檢查對象是否屬於某個類。如果對象是類的實例,則比較返回true,否則返回 false。通常我們理解為 類型運算符兩邊為對象或類進行比較,等同於===;所以,與CommonService的判斷比較也是可取的。 method_exists為內置函數,用於檢查對象或類是否具有指定的方法。通常我們理解為 對象或類中是否存在指定方法,返回值也為 true 或 false。 結論:倆者的比較維度不同。 比较项 instanceof method_exists 性质 关键保留字 内置函数 用途 检查对象是否属于某一个类 检查对象或类是否具有指定的方法 返回 true 或 false true 或 false instanceof不会告诉你传递的对象是否包含该方法,只告诉你它是那个方法的一个实例。 dyld[43914]: Library not loaded: /opt/homebrew/opt...

2021-03-20
接口与抽象类
区别 接口类 抽象类 条件 必须实现接口类中所有的公共方法 必须定义父类中所有的抽象方法 关键字 interface abstract 方式 实现implements 继承extends 特性 实现多个接口 只能继承一个抽象类 修饰符 public 公有的 保持一致或更为宽泛

2019-03-20
ThinkPHP
一、ThinkPHP 简介ThinkPHP 由顶想科技维护,2006 年首发,至今主流版本 TP6 / TP8。它在国内 PHP 项目里占有率极高,原因很现实: 文档全中文,社区活跃,遇到问题搜得到 约定优于配置,新人一上手能跑业务 生态完整:ORM、模板引擎、验证器、命令行、多应用、微服务套件齐全 学习成本低:CRUD 后台一两天就能搭起来 不适合极致性能场景(用 Hyperf / EasySwoole),但做后台、内部系统、中小型 SaaS 性价比极高。 二、目录结构(TP6)123456789101112├── app/ # 应用目录│ ├── controller/ # 控制器│ ├── model/ # 模型│ ├── middleware/ # 中间件│ └── view/ # 视图├── config/ # 配置├── extend/ # 扩展类库├── public...

2019-03-20
Yii2
一、Yii2 简介Yii 取自「Yes It Is」—— 强调”快”。Yii2 在国内外都有稳定用户群,特点: Active Record + Query Builder 双模式 ORM,比 Laravel Eloquent 更灵活 Gii 代码生成器:图形化生成 Model / CRUD / 模块,5 分钟出一套后台 内置 RBAC:角色权限管理开箱即用 Asset Bundle:前端资源打包/版本管理(早于 webpack 时代的解决方案) 两套骨架:Basic(小项目)和 Advanced(前后台分离) 性能在传统 PHP 框架里属于第一梯队,仅次于 Yaf/Phalcon 这类 C 扩展。 二、安装123456# Basic 模板composer create-project --prefer-dist yiisoft/yii2-app-basic basic# Advanced 模板(前后台分离)composer create-project --prefer-dist yiisoft/yii2-app-advanced a...
评论
公告
欢迎来到 Michael 的博客 · 记录代码、思考与生活