PHP程序员学Objective-C之后的变化
趣味坎谈,不一定100%准确,以自己的实际情况为准;
如题,我2008年开始学PHP,PHP是我学的第二门编程语言,一直用到现在,2010年初开始做iOS开发,学习了Objective-C,学这2门语言之间间隔了2年;
最近翻到了2008~2010年之间自己写的PHP代码,结合现在的项目编码风格,总结变化如下:;
1.现在喜欢用又臭又长的类名,方法名,参数名,只要写的不够长,怎么都要想办法补充到很长,所以现在写PHP就非常依赖能自动补全的IDE(被xcode宠坏了),因为真的很长;
以前用php写一个方法是这样的;
function checkpass($name,$pass){
//...
}
现在是这么写的;
class UserModel {
public function checkIfPasswordIsRightWithUsername($username,$password){
//...
}
}
2.只喜欢用驼峰法,不喜欢用 _ ;
以前这么写;
$user_token = $user_model->get_user_access_token();
现在这么写;
$userAccessToken = $userModel::getInstance()->getUserTokenForAccessAtMasterDatabaseWithCache($cacheConfigure);
3.开始项目前先定义好一堆又臭又长实际没啥用的常量(跟OC学的);
以下摘录某项目一部分;
<?php
/**
* 全局配置宏
* @author: Legend_Yin<admin@cmcc.in>
*/ //调试相关配置
define("APP_HTTP_PARAMETER_SIGN_CHECK",true);
define("APP_PARAMETER_TIME_CHECK", false);
define("APP_PARAMETER_REQUEST_ID_CHECK", true); define("MEMCACHE_KEY_PREFIX_ACCESS_TOKEN_KEY", "access_token_key_"); define('MEMCACHE_KEY_PREFIX_SYSTEM_SETTINGS', 'system_settings_'); define("MEMCACHE_KEY_LIFETIME_ACCESS_TOKEN_KEY", 7200);
define('MEMCACHE_KEY_LIFETIME_SYSTEM_SETTINGS', 3600*12); define('COMMON_PARAMETER_USER_TOKEN', 'user_token');
define('COMMON_PARAMETER_TIME', 'time');
define('COMMON_PARAMETER_VERSION', 'version');
define('COMMON_PARAMETER_REQUEST_ID', 'request_id');
4. 喜欢把PHP里的 __construct 包装成 $someObj->alloc()->init();
5. 把PHP中的Array不自觉区分为 2种;
如下
<?php
$userArray = array("tom","jerry","jack");
$userDictionary = array("first"=>"tom","second"=>"jerry","third"=>"jack");
6.先写这么多,想到再补充
PHP程序员学Objective-C之后的变化的更多相关文章
- .Net程序员学用Oracle系列(1):导航目录
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...
- .Net程序员学用Oracle系列(2):准备测试环境
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...
- .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...
- .Net程序员学用Oracle系列(7):视图、函数、过程、包
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.视图 1.1.创建视图 2.函数 2.1.创建函数 2.2.调用函数 3.过程 3.1.创建过程 3.2.调用过程 4.包 ...
- .Net程序员学用Oracle系列(8):触发器、任务、序列、连接
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_ ...
- .Net程序员学用Oracle系列(9):系统函数(上)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期 ...
- .Net程序员学用Oracle系列(10):系统函数(下)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...
- .Net程序员学用Oracle系列(11):系统函数(下)
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...
- .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NUL ...
- .Net程序员学用Oracle系列(25):触发器详解
1.触发器理论 1.1.触发器的应用场景 1.2.触发器的类型 1.3.DML 触发器的触发顺序 2.触发器实战 2.1.创建触发器 2.1.1.创建 DML 触发器 2.1.2.创建 DDL 触发器 ...
随机推荐
- 为什么使用.Net Core, Asp.net Core以及部署到云端
一,基于微软技术平台开发的应用项目,如果有以下的需求和潜在需求,建议使用.Net Core和Asp.net core技术架构: 1. 跨平台支持 2. 采用微服务架构 3. 使用Docker容器 4. ...
- 用ISA2006配置单网卡缓存服务器
有些公司在部署ISA服务器之前已经有了自己的网络访问解决方案,例如通过硬件防火墙访问互联网,如果这种网络访问解决方案运行效果较好,公司就未必希望用ISA来替代当前的方案,毕竟稳定是第一位的.但在这种情 ...
- Effective C++(20) 继承与面向对象设计
本文主要参考<Effective C++ 3rd>中的第六章部分章节的内容. 关注的问题集中在继承.派生.virtual函数等.如: virtual? non-virtual? pure ...
- MQ环境的搭建
MQ环境的搭建
- Power shell 复制文件到远程主机
昨天因为要复制文件到多个服务器上,感觉一个个复制很麻烦,我就想用Power shell 命令来完成这个任务.具体代码如下: $servers= 'server1' ,'server2' $userna ...
- css属性之flex属性
flex属性 规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间.是一个简写属性,可以同时设置flex-grow, flex-shrink, flex-basis三个子属性. /* Basic ...
- 基于HP DL388 Gen 9服务器基本配置(ESXI 6.5)
最近一段时间由于做毕业设计的原因,一直处于忙碌状态,刚做完毕业设计,导师处于项目的原因,买了一台惠普服务器(人民币1.7万),服务器自带的内存仅有16 G,硬盘也就只有600G,而且磁盘还做了raid ...
- css注入获取网页中的数据
<style><?php echo htmlspecialchars($_GET['x']);?></style> <br><br>< ...
- springmvc与Structs2本质区别
1.前端控制器不同:structs2入口是一个filter过滤器,springmvc入口是一个servlet. 2.设计思想不同: struts2通过在action类中定义成员变量接收请求参数,str ...
- ethereumjs/ethereumjs-vm-2-API文档
https://github.com/ethereumjs/ethereumjs-vm/blob/master/docs/index.md vm.runBlockchain Processes blo ...