先问招聘的吧,
招聘信息好像都是说,要精通PHP,MYSQL,LINUX,AJAX,CSS+DIV之类的,请问精通要怎么定义?????
MYSQL,LINUX,APACHE虽然跟PHP是黄金组合,但偶想说,精通数据库的那是DBA,精通LINUX的那是系统工程师,CSS+DIV好像是页面布局用吧,
初级,中级,高级PHPER要怎么区分?他们的区别是什么?
再来问下所谓的高手,,,
究竟什么样才是高手呢?会两个框架?弄个类?
除了 if else for 请while foreach 请 问您还会什么?会框架? 那是不是应该称您为框架大师呢?
个人见解:
编程都是相通的,不管是PHP/JAVA/C/C++/PERL/PYTHON 只是语法不同.....
框架:可以提高开发效率.使代码重用性高.同时也使也使你的大脑变的简单.因为所做的一切都是别人为你准备好的,你所要做的就是调用,,,,
做PHP不是长久之计,可以把PHP视为你编程的入门语言(因为简单),如果有机会还是要转向C++/JAVA 之类的当然PERL/PYTHON也是不错的选择.[这点只是个人的想法,并没有贬低PHP的意思,如果让我做WEB的话还决对是选择PHP] .
有位哥们说以下代码应对一般的面试足已:
复制PHP内容到剪贴板
PHP代码:
set_magic_quotes_runtime(0);
define('IN_XIAODAI',TRUE);
define('CMS_ROOT',__FILE__?getdirname(__FILE__).'/':'./');
define('MAGIC_QUOTES_GPC',get_magic_quotes_gpc());
$defined_vars=get_defined_vars();
foreach($defined_varsas$_key=>$_value)
{
if(!in_array($_key,array('GLOBALS','_POST','_GET','_COOKIE','_SERVER','_FILES')))
{
${$_key}='';
unset(${$_key});
}
}
unset($_key,$_value,$defined_vars);
$mtime=explode('',microtime());
$CMS_START=$mtime[1]+$mtime[0];
require_onceCMS_ROOT.'require/global.func.php';
foreach(array('_COOKIE','_POST','_GET')as$_request)
{
foreach($$_requestas$_key=>$_value)
{
$_key{0}!='_'&&$$_key=cms_adds($_value);
}
}
if(!MAGIC_QUOTES_GPC&&$_FILES)
{
$_FILES=cms_adds($_FILES);
}
if($_SERVER['HTTP_X_FORWARDED_FOR'])
{
$onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
$c_agentip=1;
}
elseif($_SERVER['HTTP_CLIENT_IP'])
{
$onlineip=$_SERVER['HTTP_CLIENT_IP'];
$c_agentip=1;
}
else
{
$onlineip=$_SERVER['REMOTE_ADDR'];
$c_agentip=0;
}
$onlineip=preg_match('/^([0-9]{1,3}/.){3}[0-9]{1,3}$/',$onlineip)?$onlineip:'Unknown';
$timestamp=($_SERVER['REQUEST_TIME'])?$_SERVER['REQUEST_TIME']:time();
!$_SERVER['PHP_SELF']&&$_SERVER['PHP_SELF']=$_SERVER['SCRIPT_NAME'];
$REQUEST_URI=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
if(strpos($_SERVER['PHP_SELF'],$cms_dir)!==false){
$tmp=substr($_SERVER['PHP_SELF'],0,strpos($_SERVER['PHP_SELF'],$cms_dir));
}else{
$tmp=$_SERVER['PHP_SELF'];
}
$cms_url="http://$_SERVER[HTTP_HOST]".substr($tmp,0,strrpos($tmp,'/'));
//$gzip=1;
if($gzip&&function_exists('ob_gzhandler'))
{
ob_start('ob_gzhandler');
}
else
{
$gzip=0;
ob_start();
}
//数据库链接
require_onceCMS_ROOT.'data/config.inc.php';
$db=createDB();
$dbhost=$dbuser=$dbpw=$dbname=$pconnect=$database=$charset=$dbcharset=null;
//获取客户端IP地址
if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown'))
{
$onlineip=getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown'))
{
$onlineip=getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown'))
{
$onlineip=getenv('REMOTE_ADDR');
}
elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown'))
{
$onlineip=$_SERVER['REMOTE_ADDR'];
}
preg_match("/[/d/.]{7,15}/",$onlineip,$onlineipmatches);
$onlineip=$onlineipmatches[0]?$onlineipmatches[0]:'unknown';
unset($onlineipmatches);
有什么过人之处吗?没有,,,
高手们,,请在下面贴出你们认为有技术含量的代码,让小弟拜读学习一下,,,不胜感激...
补发:
上面的代码数据库链接用到createDB()函数.在这里补发上
复制PHP内容到剪贴板
PHP代码:
functioncreateDB()
{
global$dbhost,$dbuser,$dbname,$dbpw,$pconnect,$database,$charset,$dbcharset;
if(PHP_VERSION<'5.0'||function_exists('pdo_drivers')||!in_array($database,pdo_drivers()))
{
require_onceCMS_ROOT.'require/'.$database.'.class.php';
$db=&newDB($dbhost,$dbuser,$dbpw,$dbname,$pconnect);
}
else
{
require_onceCMS_ROOT.'require/pdo.class.php';
$db=&newDB($dbhost,$dbuser,$dbpw,$dbname,$pconnect);
}
return$db;
}
这个函数返回一个数据库的句柄,如果支持PDO就用PDO,不支持DPO用默认的在 require 目录下的 $database.class.php 数据库类
做好MYSQL的了,现在正在做SQLite 的类..
PDO.CLASS.PHP
复制PHP内容到剪贴板
PHP代码:
<?php
/*
数据库类PDO版
小呆QQ:66286806欢迎交流
*/
classDBextendsPDO
{
function__construct($dbhost,$dbuser,$dbpw,$dbname,$pconnect=1,$halt=true)
{
global$database,$charset,$dbcharset;
parent::__construct($database.':host='.$dbhost.';dbname='.$dbname,$dbuser,$dbpw);
$this->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,TRUE);
if($pconnect)$this->setAttribute(PDO::ATTR_PERSISTENT,true);
if($this->getAttribute(PDO::ATTR_SERVER_VERSION)>'4.1')
{
if(!$dbcharset&&in_array(strtolower($charset),array('gbk','big5','utf-8')))
{
$dbcharset=str_replace('-','',$charset);
}
if($dbcharset)
{
$this->exec("SETcharacter_set_connection=$dbcharset,character_set_results=$dbcharset,character_set_client=binary");
}
if($this->getAttribute(PDO::ATTR_SERVER_VERSION)>'5.0.1')
{
$this->exec("SETsql_mode=''");
}
}
}
functionquery($sql,$type='',$result_type=PDO::FETCH_ASSOC)
{
$tmp=strtolower(substr($sql,0,6));
if($tmp=='select')
{
if(!$rs=parent::query($sql))$this->halt('DatabaseQueryError',$sql);
$rs->setFetchMode($result_type);
return$rs;
}
elseif($tmp=='update'||$tmp=='delete'||$tmp='insert')
{
if(!$rs=$this->exec($sql))
{
if($this->errorCode()!='00000')$this->halt('DatabaseQueryError',$sql);
}
}
}
functionfetch_array($query)
{
return$query->fetch();
}
functionget_one($sql,$result_type=PDO::FETCH_ASSOC)
{
if(!$rs=parent::query($sql))$this->halt('DatabaseQueryError',$sql);
$rs->setFetchMode($result_type);
return$rs->fetch();
}
functioninsert_id()
{
return$this->lastInsertId();
}
functionerror()
{
if($this->errorCode()!='00000')
{
return$this->errorInfo();
}
}
functionhalt($message,$sql)
{
require_onceCMS_ROOT.'require/database_error.php';
}
}
?>
分享到:
相关推荐
Tableau商业分析:从新手到高手_数据源
从新手到高手C++全方位学习pdf版本,非常基础的讲解,适合新手
《从新手到高手:PowerPoint 2010办公应用从新手到高手》由浅入深地介绍了使用PowerPoint 2010制作演示文稿的方法和技巧。《从新手到高手:PowerPoint 2010办公应用从新手到高手》共21章,内容涉及PowerPoint的基本...
一个高手写给新手的忠告,教你怎么去成长为编程高手 看完颇有感触
从新手到高手_C++全方位学习视频下载链接
高手新手都能用的140个电脑技巧
高手新手都能用的140个电脑技巧 大家好好的学习,我也正在学习!! 有好的东西我会在上传给大家共享的!! 大家能够更好的交流学习!
打字高手 正品 新手不要错过 另有注册机,在我的资源里有
C语言高手总结的新手容易犯的错误,非常好的总结,受益匪浅
高手,新手都能用到的140个电脑技巧 高手,新手都能用到的140个电脑技巧
这是一个你很值得收藏的电脑技巧,无论你是新手还是高手,总之他对你来说一定有用到的地方.
无论对于Visual C++新手还是老手,以及其他编程语言,比如VB、Delphi的程序员,都具有很好的参考价值。 如果你正在用Visual C++做开发,请一定要先浏览本书,也许你现在需要解决的问题,他人已帮助你解决,无需费时...
CAD高手晋级适合新手基础学者 CAD高手晋级适合新手基础学者
高手新手都能用的140个电脑技巧(1)
硅谷动力视频教程,从新手到高手 C++全方位学习视频下载链接
高手新手都能用的140个电脑技巧(2).doc
HTML5+CSS3从新手到高手网页设计与网站布局一书的所有源码和90个书中实例,该书为清华大学出版社出版,倪宝童、吴东伟等编著,价值49.8呢~
全面介绍电脑操作人员的基本要求.特别适合新手使用,即使是长期运用电脑的高手,也会有不小的收获,很好!
简单的招聘模块例子, AJAX用的AJAXPRO实现的三级级联 有个图片预览