作者文章归档:曹鹏

曹鹏, 毕业于北美劳伦森大学 经济系。在校期间任经济系助教+计算机系同声传译。08年回国至13年,发布编程之邦15大学科, 全网千万计独立播放。被步步高,平安等上市公司及多所大学多次邀请授课。业界人称华人编程教父。

曹鹏谈thinkphp模板中如何判断volist循环的最后一条记录


曹鹏谈thinkphp模板中如何判断volist循环的最后一条记录。用过smarty做过php开发的朋友应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp中如何判断呢?在thinkphp的模板中常见的循环是volist,而volist的各种属性中并没有直接判断这个的,下面就说下在thinkphp volist中是如何判断最后一条记录的。

举例代码如下,意思自己去体会吧。

<volist name='lists' id='list'>
<...

Read more

曹鹏:PHP将死?


  曹鹏:PHP将死?毫无疑问,在目前的脚本语言中,PHP、Ruby以及Python是开发者最受欢迎的三种语言,特别是PHP,其在Web开发领域的应用最为广泛。然而历史证明,PHP总有落幕的一天。

  历史在重演

  PHP将亡?就像大概十年之前,PHP灭掉了Perl一样。当然了,并不十分彻底;它还坚守在某些环境里,它还有相当可观数量的顽固粉丝,遗留下来的应用程序也需要维护,持续几十年。但这种语言对于新一代的人,特别是Web开发者,它在1999年就开始灭亡了,到2005年左右几乎完全死了!

  作为在那个时期出现的新的Web开发者,事情显的很明白而且水到渠成:Perl已经不适应新的...

Read more

曹鹏讲PHP程序员如何突破成长瓶颈


  曹鹏讲PHP程序员如何突破成长瓶颈,作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?

  PHP工程师面临成长瓶颈

  先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的Web系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的物点:

  ·除了PHP不使用其它的语言,可能会点shell 脚本。

  &mid...

Read more

曹鹏:php预防XSS攻击、ajax跨域攻击的方法


曹鹏:php预防XSS攻击、ajax跨域攻击的方法。对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全。

现在有很多php开发框架都提供关于防XSS攻击的过滤方法,下面和大家分享一个预防XSS攻击和ajax跨域攻击的函数,摘自某开发框架,相比于仅仅使用内置函数应该还是够强了的吧。

function xss_clean($data){
 ...

Read more

曹鹏:PHP是个集中营?


  曹鹏:PHP是个集中营?本文是从 Why PHP Was a Ghetto 这篇文章翻译而来。

  有一天我跟在DUMBO的一个非常棒的创业公司的老板聊天,谈到为什么非PHP界的开发人员普遍轻视PHP和PHP相关社区。他提出了一个观点让我印象很深,很大程度上是因为以前从来没有听到过这样的说法。

  如果你不知道大多数的程序员都会对PHP发什么样的牢骚,那么,这些牢骚差不多会像这样:

  语法丑陋

  缺乏其它语言都有的一些必要的特征(在5.3版本之前,没有命名空间,闭包)

  不一致的函数命名、使用惯例,以及其它一些怪异的东西

  过程和面向对象的杂混

  基本上80-...

Read more

曹鹏讲php过滤提交数据


规则 1:绝不要信任外部数据或输入
关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。
例如,下面的数据元素可以被认为是安全的,因为它们是在 PHP 中设置的。
清单 1. 安全无暇的代码
$myUsername = ‘tmyer’;
$arrayUsers = array(’tmye...

Read more

曹鹏讲授ucenter同步登陆机制


曹鹏讲授ucenter同步登陆机制,做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆的和大家做一下分享。

首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确则继续执行登陆代码,检测此用户过程:通过用户是以什么方式连的uc(mysql还是http post)然后去相应地用不同函数来检测用户,检测完成后实现本地登陆,代码自己写,然后让其他应用程序也登...

Read more

曹鹏讲thinkphp模板中如何判断volist循环的最后一条记录


曹鹏讲thinkphp模板中如何判断volist循环的最后一条记录。用过smarty做过php开发的朋友应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp中如何判断呢?在thinkphp的模板中常见的循环是volist,而volist的各种属性中并没有直接判断这个的,下面就说下在thinkphp volist中是如何判断最后一条记录的。

举例代码如下,意思自己去体会吧。

<volist name='lists' id='list'>
<...

Read more

曹鹏讲授php判断变量类型常用方法


曹鹏讲授php判断变量类型常用方法。php 判断变量类型常用的函数主要有下列几个:

gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()

现在让我们了解下他们的具体的使用方法

gettype() 返回 PHP 变量的类型,返回的字符串的可能值为以下几种:

boolean(从 PHP 4 起)
integer
double(由于历史...

Read more