我们都知道。各种编程语言都有自己的风格,即使是像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的混乱的编码风格的更多相关文章

  1. 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作

    对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...

  2. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  3. 浅谈38K红外发射接受编码

    之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出:1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编程的红外编码.2:红外遥控 红外遥控首 ...

  4. 【转载】浅谈38K红外发射接受编码

    转自Doctor_A 坛友的笔记! 之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出: 1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编 ...

  5. python 浅谈小数据池和编码

    ⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...

  6. 浅谈java使用指定字符集编码,以及常见的字符集

    问题的引入:在InputStreamReader(OutputStreamWriter)的构造方法中,有指定字符集编码,那么什么是字符集?有哪些常用的字符集?怎么用字符集进行编码? 一   什么是字符 ...

  7. 浅谈 JavaScript 编程语言的编码规范

    对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编 ...

  8. 浅谈Hybrid技术的设计与实现第三弹——落地篇

    前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...

  9. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

随机推荐

  1. linq .dbml转化成sql脚本

    public String ConvertDBMLToSqlScript(System.Data.Linq.DataContext DBContext)  {         String DBCon ...

  2. WindowsPhone8SDK重装后设计器加载异常的处理办法

    Close all running instances of Visual Studio 2012 start cmd.exe (as admin/elevated) cd /d %windir%\i ...

  3. asp.net(vs2005) + Sql2000 缓存依赖

    1.开启数据库缓存依赖支持 开始,运行,cmd 输入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -S localhost ...

  4. Java [Leetcode 273]Delete Node in a Linked List

    题目描述: Write a function to delete a node (except the tail) in a singly linked list, given only access ...

  5. 【转】 实现 Cocos2d-x 全局定时器

    转自:http://www.tairan.com/archives/3998 cocos2d-x 中有自己的定时器实现,一般用法是在场景,层等内部实现,定时器的生命周期随着它们的消亡而消亡,就运行周期 ...

  6. (二)学习MVC之实现用户注册功能

    学习地址:http://www.cnblogs.com/mzwhj/archive/2012/10/22/2720089.html 本文和学习地址不一样的地方是我自己添加了一些简单的注释和理解. 1. ...

  7. Maven使用教程

    一.Maven介绍 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的 ...

  8. MySQL中间层 Atlas

    Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bu ...

  9. winform中设置FormBorderStyle为None后点击任务栏自动最小化实现

    在winform编程中,有时候我们可能对窗体样式需要定义,不适用系统自带的样式,这样我们可以设置FormBorderStyle属性为None.但是设置了FormBorderStyle为None后,我们 ...

  10. Zabbix探索:工作时间的设置

    默认情况下,Zabbix的工作时间是启用的. 启用后,图形的北京在工作时间内就是白底的,否则就是灰底的. 今天纠结了半天,因为无论如何都是灰底的. 后来连接到服务器上一看,靠,忘记同步时间了,所以刚好 ...