辛星浅谈PHP的混乱的编码风格
我们都知道。各种编程语言都有自己的风格,即使是像C和C++那样一脉相承的语言(C++本意全然兼容C的语法)。编程风格上还是有些区别。比方非常典型的就是C++风格的单行凝视和C风格的多行凝视。
而尽管Java在非常大程度上借鉴了C的语法。可是不可否认,Java的经典的大括号是左大括号是在类名或者函数名等同一行的,而C++风格的则是大括号另起一行,可能有些Java程序猿和C++程序猿这两种风格都用,可是假设大家多看看大师的编码风格。会发现事实上大括号另起一行是典型的C++的风格。大括号不另起一行是典型的Java风格,尽管这些并无本质差别。可是就像现代人喜欢握手。古代人喜欢抱拳。这些习惯还是非常的根深蒂固的。是扎根在人的心里的。
以下不得不说的就是PHP的编程风格,我想非常多人都是学习了不少的编程语言了,对于编码风格也有自己的见解。没错。PHP的编程风格就是如此的混乱,首先PHP由C语言写成。非常多函数直接借鉴了C的风格。比方大括号。分号结尾。这也是好事,毕竟C程序猿是灰常的多,适合他们的学习也非常重要。
然后PHP借鉴了不少Perl的风格。最经典的就是这个$符号。至少就我看来。除了perl和php。我还真没发现哪个语言喜欢在变量名前面加上这么一个符号。接下来就是它的凝视风格。典型的Shell、C、C++三种风格都支持。这点还是非常不错的,谈不上混乱。至少非常经典。
然后不得不说的就是PHP的函数名的编码风格。一个字:乱。假设这个函数是位于类里面的,那么我们要考虑驼峰命名法。比方getName这样子。对于内置函数,它有可能是用下划线连接的。比方error_reporting,比方html_entity_decode,也有可能是直接用字母连接起来的,比方htmlentities,还有可能是某些简写规则。比方rtirm与ltrim这样子。
给PHP的学习和使用带来了一定的迷茫。
最后说一下PHP的面向对象把,PHP的面向对象在非常大程度上是Java风格的。借鉴了Java的单继承和接口的思想。因此,特别适合Java程序猿转向PHP,也非常适合PHP程序猿转向Java。
一时有点想不起来再说点什么了,总之。PHP的编码风格是一个大杂烩。须要程序猿不断地去适应。
辛星浅谈PHP的混乱的编码风格的更多相关文章
- 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作
对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...
- 视频基础知识:浅谈视频会议中H.264编码标准的技术发展
浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...
- 浅谈38K红外发射接受编码
之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出:1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编程的红外编码.2:红外遥控 红外遥控首 ...
- 【转载】浅谈38K红外发射接受编码
转自Doctor_A 坛友的笔记! 之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出: 1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编 ...
- python 浅谈小数据池和编码
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...
- 浅谈java使用指定字符集编码,以及常见的字符集
问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一 什么是字符 ...
- 浅谈 JavaScript 编程语言的编码规范
对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编 ...
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
随机推荐
- 蓝牙(3)如何通过蓝牙传输数据及UUID详介
如何通过蓝牙传输数据 通过蓝牙传输数据与Socket类似.在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写.而蓝牙通讯也由客户端和服务端Socket来完成.蓝牙客户端So ...
- 【HDOJ】4297 One and One Story
综合性很强的题目.存在环,可以用tarjan处理,然后需要求LCA.并查集+RMQ可以搞.非常不错的题目. /* 4297 */ #include <iostream> #include ...
- 不能设置sublime text 2 为默认编辑器
今天遇到一个有趣的事情,当我设置 css 样式表的默认打开方式的时候,却始终无法设置成功,系统总是随机选取一种打开方式来打开文件.比如:pdf.DW.txt等方式. 我设置默认打开方式的步骤如下: 1 ...
- IPC:Sockets
Please refer to http://www.cs.cf.ac.uk/Dave/C/node28.html.
- BZOJ3053: The Closest M Points
题解: 我们可以事先在堆里放入插入m个inf然后不断的比较当前值与堆首元素的大小,如果小于的话进入. 估计函数也可以随便写写... query的时候貌似不用保留dir... return 0写在 wh ...
- android listview 使用checkbox问题
在android中使用listview时需要了解listview加载数据的原理,为了避免listview由于列表项过多每次需要进行new造成性能低下的问题,android中的listview使用了控件 ...
- JQuery focus()
跳转到登陆页面时可以使用focus方法 <input name="login_account"id="login_account"class=" ...
- Android Fragment学习(一)
说明 Fragment是在Android3.0(即API 11)才出现的,如果在之前的版本要使用,需要添加support库. Fragment可以认为是Actvity模块化的组件,可以很方便地被添加, ...
- MAC下显示或者隐藏文件的命令
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defaults writ ...
- js基础第六天
获取节点属性 getAttribute("属性") 获取属性 setAttribute("属性","值"); 设置节点属性 删除某个属性 r ...