❶ 如何優雅的使用 phpStorm 開發工具
按照慣例依然是從網路上復制一條簡介: PhpStorm 是 JetBrains 公司開發的一款商業的 PHP 集成開發工具。PhpStorm可隨時幫助用戶對其編碼進行調整,運行單元測試或者提供可視化debug功能和智能HTML/CSS/JavaScript/PHP編輯、代碼質量分析、版本控制集成(SVN、GIT)、調試和測試等功能。另外,它還是跨平台。在Windows和MacOS下都可以使用。PhpStorm-讓開發更智能,而不是更困難。
聽說phpStorm 10支持php7呃
優點
跨平台。
對PHP支持refactor功能。
自動生成phpdoc的注釋,非常方便進行大型編程。
內置支持Zencode。
生成類的繼承關系圖,如果有一個類,多次繼承之後,可以通過這個功能查看他所有的父級關系。
支持代碼重構,方便修改代碼。
擁有本地歷史記錄功能(local history功能)。
方便的部署,可以直接將代碼直接upload到伺服器。
總之它很牛逼就是了,什麼都能幹
快捷鍵
phpStorm有非常非常多並且好用的的快捷鍵,我下面就舉一些經常用的的快捷鍵演示,還有一些不常用的就不舉例了,絕對能提高你開發的效力率...
(Windows與Mac類似,只要把 command 鍵換成 ctrl )
查詢相關
command + f 查找當前文件
command + r 查找替換
command + e 打開最近的文件
command + shift + o 快速查詢文件
command + shift + f 關鍵字查找,更強大的查詢器(機器不好的,最好還是先確定一下目錄)
command + shift + r 高級替換
command + alt + b 找到當剪類的所有子類
alt + shift + c 查找最近修改的文件
alt + f7 直接查詢選中的字元
ctrl + f7 文件中查詢選中字元
command + 滑鼠點擊 跳到類或方法或變數等聲明處
command + shift + tab 切換tab頁文件
command + shift + +,- 展開或縮起
command + . 折疊或展開選中的代碼
自動代碼
alt + 回車 導入包,自動修正
command + n 快事為每個成員屬性生成 getter 及 setter 方法
ctrl + i 快速生成插入魔術方法
ctrol + o 復寫父類方法
command + alt + l 對當前文件進行格式化排版
command + d 復制當剪行
command + / // 注釋
command + shift + / / / 注釋
❷ php 查詢資料庫表 判斷 某值是否存在
代碼如下:
<?php
$sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";
$result=mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
if (!mysql_num_rows($result))
{
echo "record doesn't exist~~~~~!!!!!!";
}
else
{ // echo mysql_num_rows($result)." ";
echo $row['game_id'];
echo $row['task'];
}
?>
(2)php代碼審查擴展閱讀
訪問MySql一般步驟
1)連接MySql伺服器
使用mysql_connect()函數建立與MySql伺服器的連接。
2)選擇MySql資料庫
使用mysql_select_db()函數選擇MySql伺服器上的資料庫,並與資料庫建立連接。
3)執行SQL語句
使用mysql_query()函數執行SQL語句。(包括增加、刪除、修改、查詢、顯示)
4)關閉結果集
使用mysql_free_result($result)關閉結果集,以釋放資源。
❸ PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結
1、推薦的一種方法:php判斷搜索引擎蜘蛛爬蟲還是人為訪問代碼,摘自Discuz x3.2
<?php
function checkrobot($useragent=''){
static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');
$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
if(dstrpos($useragent, $kw_spiders)) return true;
return false;
}
function dstrpos($string, $arr, $returnvalue = false) {
if(empty($string)) return false;
foreach((array)$arr as $v) {
if(strpos($string, $v) !== false) {
$return = $returnvalue ? $v : true;
return $return;
}
}
return false;
}
if(checkrobot()){
echo '機器人爬蟲';
}else{
echo '人';
}
?>
實際應用中可以這樣判斷,直接不是搜索引擎才執行操作
<?php
if(!checkrobot()){
//do something
}
?>
2、第二種方法:
使用PHP實現蜘蛛訪問日誌統計
$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));
if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}
elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';}
elseif (strpos($useragent,'spider') !== false){$bot = 'Bai';}
elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';}
elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';}
elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';}
elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';}
elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';}
elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';}
elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';}
elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';}
elseif (strpos($useragent,'yoBot') !== false){$bot = 'Yo';}
elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';}
elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';}
elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';}
elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';}
elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';}
if(isset($bot)){
$fp = @fopen('bot.txt','a');
fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n");
fclose($fp);
}
第三種方法:
我們可以通過HTTP_USER_AGENT來判斷是否是蜘蛛,搜索引擎的蜘蛛都有自己的獨特標志,下面列取了一部分。
function is_crawler() {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiders = array(
'Googlebot', // Google 爬蟲
'Baispider', // 網路爬蟲
'Yahoo! Slurp', // 雅虎爬蟲
'YoBot', // 有道爬蟲
'msnbot' // Bing爬蟲
// 更多爬蟲關鍵字
);
foreach ($spiders as $spider) {
$spider = strtolower($spider);
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}
下面的php代碼附帶了更多的蜘蛛標識
function isCrawler() {
echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']);
if (!empty($agent)) {
$spiderSite= array(
"TencentTraveler",
"Baispider+",
"BaiGame",
"Googlebot",
"msnbot",
"Sosospider+",
"Sogou web spider",
"ia_archiver",
"Yahoo! Slurp",
"YouBot",
"Yahoo Slurp",
"MSNBot",
"Java (Often spam bot)",
"BaiDuSpider",
"Voila",
"Yandex bot",
"BSpider",
"twiceler",
"Sogou Spider",
"Speedy Spider",
"Google AdSense",
"Heritrix",
"Python-urllib",
"Alexa (IA Archiver)",
"Ask",
"Exabot",
"Custo",
"OutfoxBot/YoBot",
"yacy",
"SurveyBot",
"legs",
"lwp-trivial",
"Nutch",
"StackRambler",
"The web archive (IA Archiver)",
"Perl tool",
"MJ12bot",
"Netcraft",
"MSIECrawler",
"WGet tools",
"larbin",
"Fish search",
);
foreach($spiderSite as $val) {
$str = strtolower($val);
if (strpos($agent, $str) !== false) {
return true;
}
}
} else {
return false;
}
}
if (isCrawler()){
echo "你好蜘蛛精!";
}
else{
echo "你不是蜘蛛精啊!";