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 触发器 ...
随机推荐
- sql server 查询分析器中表名无效,有红线,其实是这张表的
ctrl+shift+R 就OK了,就是刷新本地缓存.
- APACHE如何一个站点绑定多个域名?
大家肯定遇到过这样的情况,需要APACHE2里一个站点绑定多个域名,那么如何操作呢?用ServerAlias 以前很笨,要使多个域名指向同一站点总是这样写: ServerAdmin admin@dom ...
- 适用于 Windows 的虚拟机扩展和功能
Azure 虚拟机扩展是小型应用程序,可在Azure 虚拟机上提供部署后配置和自动化任务. 例如,如果虚拟机要求安装软件.防病毒保护或进行 Docker 配置,便可以使用 VM 扩展来完成这些任务. ...
- [Swift] 使用Playground
使用Playground 1. 新建Playground 2. 写最简单的代码
- sort、sorted、heapq、bisect排序
aa=[1,2,8,7,0,13,28,3]sorted(aa) #原list不变,从小到大排序 aa.sort() #改变原lisaa.sort(reverse=True) #反转 for i in ...
- xise官方网站|XISE官网|xise最新版下载|超级XISE WBMS管理V12.0版本官方网站|
诠释: 1. 破解VIP登陆限制 2.去后门 (自查) 下载地址 :https://pan.baidu.com/s/1eR2rUOM 查毒地址:http://a.virscan.org/a3983f3 ...
- 4 Dockerfile指令详解 && COPY 指令
COPY 指令将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置.比如: COPY package.json /usr/src/app/ ...
- [COGS 0065][NOIP 2002] 字串变换
65. [NOIP2002] 字串变换 ★★ 输入文件:string.in 输出文件:string.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 已知有两个字 ...
- C#预定义类型、引用类型
一.预定义的值类型 一个字节(1Byte)=8位(8Bit) BitArarry类可以管理位Bit. 1.整型 所有的整形变量都能用十进制或十六进制表示:long a=0x12AB 对一个整形值如未指 ...
- caanimationgroup与CATransaction的区别
动画的组合: caanimationgroup:同一个layer: CATransaction:不同layer: In Core Animation, transactions are a way t ...