php 不喜欢用对象,为什么PHP不在其默认库中使用对象?
我已经用
PHP编写了半年多的时间,虽然我还远没有成为一名专家,但我可以很容易地解决问题,并根据我的需要编写脚本.我来自面向对象的背景,这似乎是PHP在其默认库中使用的很少(如果有的话).
我使用或创建的大多数外部库都使用面向对象的设计,而默认设置似乎使用下一个示例.我将使用文件/写入阅读过程作为示例:
$file_path = "/path/to/file.txt";
$file_handle = fopen($file_path, "w+");
$content = fread($file_handle, filesize($file_path));
fclose($file_handle);
现在对我而言,使用看起来像这样的设计会更有意义:
$file_handle = new FileStream("/path/to/file.txt");
$content = $file_handle->read();
$file_handle->close();
现在我很确定这背后会有一个明确的推理,因为同样的想法适用于字符串,数组,cURL,MySQL查询等.我很想知道它是什么.
因此,如果最好用句柄或资源作为第一个参数来编写不同的函数,例如
object_method($handle, $value);
那么为什么大多数流行的(外部)PHP库更喜欢使用:
$object->method($value);
在编写自己的库和应用程序时,我应该使用哪个?
php 不喜欢用对象,为什么PHP不在其默认库中使用对象?相关推荐
- Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法
Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...
- Android开源项目及库整理总结 字数10731 阅读2704 评论2 喜欢85 自己总结的Android开源项目及库。 github排名https://github.com/trending,
Android开源项目及库整理总结 字数10731 阅读2704 评论2 喜欢85 自己总结的Android开源项目及库. github排名https://github.com/trending, g ...
- 将选定的文本对象左对齐、右对齐或对中
;; ;;程序名称:对象水平对齐程序 ;;执行命令:TXTAL ;;程序功能:将选定的对象左对齐.右对齐或对中. ;; (defun c:TXTAL(/ selobjs oldcmdecho) ;定义 ...
- python中对象和变量的关系_浅析python中的类变量和对象变量
刚学python,学到了有关于类和对象的地方.对一个概念有点模糊,后来通过实践编码找到一定规律 在python中 class test(object): id=2 name='tt' list=['t ...
- python默认参数 可变对象_当心Python函数可变默认参数(list,set,dict…)的陷阱
绝大多数情况下,Python是一个干净具有一致性的语言.然而,有些少数情况会让初学者感到困惑.其中有些情况是有意识的但会成为潜在的莫名其妙,而有些可以说是语言赘肉.下面我们看看使用可变默认参数(Mut ...
- kotlin将对象转换为map_在 Kotlin 的 data class 中使用 MapStruct
原文:https://zhuanlan.zhihu.com/p/208525542 一. data class 的 copy() 为浅拷贝 浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对 ...
- java 创建string对象机制 字符串缓冲池 字符串拼接机制 字符串中intern()方法...
字符串常量池:字符串常量池在方法区中 为了优化空间,为了减少在JVM中创建的字符串的数量,字符串类维护了一个字符串池,每当代码创建字符串常量时,JVM会首先检查字符串常量池.如果字符串已经存在池中,就 ...
- Express 工具库中的 Application 对象
var express = require('express') var app = express()app.get('/', function (req, res) {res.send('hell ...
- fritz 使用手册_Fritz对象检测指南:使用机器学习在Android中构建宠物监控应用
fritz 使用手册 by Eric Hsiao 萧敬轩 Fritz对象检测指南:使用机器学习在Android中构建宠物监控应用 (A guide to Object Detection with F ...
最新文章
- Jenkins一键上线Java项目
- 人大经济论坛:统计学的一些经典教材
- QT的QItemSelection类的使用
- python中def _init_是什么意思_详细解读Python中的__init__()方法
- 免费的.NET混淆和反编译工具
- JavaScript高级程序设计学习(四)之引用类型(续)
- 重磅!谷歌大脑提出EfficientNet平衡模型扩展三个维度,取得精度-效率的最大化!...
- net空间一次购买终身使用_net域名与org域名哪个投资价值更高?
- 定时器时间动态变化(变速)
- 6.表单提交,input键盘变搜索,有关自定义属性input操作
- Android开源项目推荐之「网络请求哪家强」
- 获取json格式的内容数据时,使用的方法避免空指针
- 菲尔·席勒(Phil Schiller)卸任苹果全球营销高级副总裁,升任苹果研究员
- Python3.6爬取前程无忧
- linux oracle 常用操作
- newt.h:没有那个文件或目录
- vue2.0 axios 登录post请求自动读取Set-Cookie设置
- Kotlin (Java) 获取 mysql 数据库的所有表,表的所有字段,注释,字段类型
- Spark算子实战Java版,学到了
- ElasticSearch的搭建和报错处理