- 相關(guān)推薦
PHP程序員基本知識點
PHP程序員有哪些必備知識點?下面是百分網(wǎng)小編精心為大家整理的PHP程序員的基本知識點,希望對大家有幫助,更多內(nèi)容請關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!
1.1 HTTP協(xié)議中幾個狀態(tài)碼的含義:503 500 401 403 404 200 301 302。。。
200 : 請求成功,請求的數(shù)據(jù)隨之返回。
301 : 永久性重定向。
302 : 暫時行重定向。
401 : 當前請求需要用戶驗證。
403 : 服務(wù)器拒絕執(zhí)行請求,即沒有權(quán)限。
404 : 請求失敗,請求的數(shù)據(jù)在服務(wù)器上未發(fā)現(xiàn)。
500 : 服務(wù)器錯誤。一般服務(wù)器端程序執(zhí)行錯誤。
503 : 服務(wù)器臨時維護或過載。這個狀態(tài)時臨時性的。
1.2 Include require include_once require_once 的區(qū)別.
處理失敗方式不同:
require 失敗時會產(chǎn)生一個致命級別錯誤,并停止程序運行。
include 失敗時只產(chǎn)生一個警告級別錯誤,程序繼續(xù)運行。
include_once/require_once和include/require 處理錯誤方式一樣,
唯一區(qū)別在于當所包含的文件代碼已經(jīng)存在時候,不在包含。
1.3 PHP/Mysql中幾個版本的進化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改進等等。
1.4 HEREDOC介紹
一種定義字符串的方法。
結(jié)構(gòu):
<<<。在該提示符后面,要定義個標識符(單獨一行),
然后是一個新行。接下來是字符串 本身,
最后要用前面定義的標識符作為結(jié)束標志(單獨一行)
注意:
標識符的命名也要像其它標簽一樣遵守PHP的規(guī)則:
只能包含字母、數(shù)字和下劃線,并且必須以字母和下劃線作為開頭
1.5 寫出一些php魔幻(術(shù))方法;
__construct() 實例化類時自動調(diào)用。
__destruct() 類對象使用結(jié)束時自動調(diào)用。
__set() 在給未定義的屬性賦值的時候調(diào)用。
__get() 調(diào)用未定義的屬性時候調(diào)用。
__isset() 使用isset()或empty()函數(shù)時候會調(diào)用。
__unset() 使用unset()時候會調(diào)用。
__sleep() 使用serialize序列化時候調(diào)用。
__wakeup() 使用unserialize反序列化的時候調(diào)用。
__call() 調(diào)用一個不存在的方法的時候調(diào)用。
__callStatic()調(diào)用一個不存在的靜態(tài)方法是調(diào)用。
__toString() 把對象轉(zhuǎn)換成字符串的時候會調(diào)用。比如 echo。
__invoke() 當嘗試把對象當方法調(diào)用時調(diào)用。
__set_state() 當使用var_export()函數(shù)時候調(diào)用。接受一個數(shù)組參數(shù)。
__clone() 當使用clone復(fù)制一個對象時候調(diào)用。
1.6 一些編譯php時的configure 參數(shù)
–prefix=/usr/local/php php安裝目錄
–with-config-file-path=/usr/local/php/etc 指定php.ini位置
–with-mysql=/usr/local/mysql mysql安裝目錄,對mysql的支持
–with-mysqli=/usr/local/mysql/bin/mysql_config mysqli文件目錄,優(yōu)化支持
–enable-safe-mode 打開安全模式
–enable-ftp 打開ftp的支持
–enable-zip 打開對zip的支持
–with-bz2 打開對bz2文件的支持
–with-jpeg-dir 打開對jpeg圖片的支持
–with-png-dir 打開對png圖片的支持
–with-freetype-dir 打開對freetype字體庫的支持
–without-iconv關(guān)閉iconv函數(shù),種字符集間的轉(zhuǎn)換
–with-libxml-dir 打開libxml2庫的支持
–with-xmlrpc 打開xml-rpc的c語言
–with-zlib-dir 打開zlib庫的支持
–with-gd 打開gd庫的支持
更多可以使用 ./configure help 查看
1.7 向php傳入?yún)?shù)的三種方法。
方法一 使用$argc $argv
方法二 使用getopt函數(shù)()
方法三 提示用戶輸入,然后獲取輸入的參數(shù)。有點像C語言
1.8 (mysql)請寫出數(shù)據(jù)類型(int char varchar datetime text)的意思; 請問varchar和char有什么區(qū)別;
int : 數(shù)值類型
char : 固定長度字符串類型
varchar : 可變長度字符串類型
datetime : 時期時間類型
text : 文本類型
varchar和char有什么區(qū)別:
a. char 長度是固定的,不管你存儲的數(shù)據(jù)是多少他都會都固定的長度。
而varchar則處可變長度但他要在總長度上加1字符,這個用來存儲位置。
b. char 固定長度,所以在處理速度上要比varchar快速很多,但是浪費存儲空間,
所以對存儲不大,但在速度上有要求的可以使用char類型,反之可以用varchar類型來實例。
1.9 error_reporting 等調(diào)試函數(shù)使用
error_reporting() 函數(shù)能夠在運行時設(shè)置php.ini中 error_reporting 指令。
所以可以再程序中隨時調(diào)節(jié)顯示的錯誤級別。
使用此函數(shù)時 display_errors必須是打開狀態(tài)。
1.10 您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?
1.11 posix和perl標準的正則表達式區(qū)別;
1.12 Safe_mode 打開后哪些地方受限.
啟動safe_mode,會對許多PHP函數(shù)進行限制,特別是和系統(tǒng)相關(guān)的文件打開、命令執(zhí)行等函數(shù).
所有操作文件的函數(shù)將只能操作與腳本UID相同的文件.
1.13 寫代碼來解決多進程/線程同時讀寫一個文件的問題。
PHP是不支持多線程的,可以使用php的flock加鎖函數(shù)實現(xiàn)。
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // 進行排它型鎖定
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // 釋放鎖定
} else {
echo "Couldn't lock the file !";
}
fclose($fp);
1.14 寫一段上傳文件的代碼。
upload.html
Send this file:
upload.php
$uploads_dir = '/uploads';
foreach ($_FILES["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["tmp_name"][$key];
$name = $_FILES["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
1.15 Mysql 的存儲引擎,myisam和innodb的區(qū)別。
a. MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持.
b. MyISAM類型的表強調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類型更快.
c. InnoDB不支持FULLTEXT類型的索引.
d. InnoDB 中不保存表的具體行數(shù),也就是說,
執(zhí)行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,
但是MyISAM只要簡單的讀出保存好的行數(shù)即可.
e. 對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯(lián)合索引。
f. DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
g. LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導(dǎo)入數(shù)據(jù)后再改成InnoDB表,
但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用.
h. MyISAM支持表鎖,InnoDB支持行鎖。
【PHP程序員基本知識點】相關(guān)文章:
PHP程序員容易忽略的知識點01-10
PHP程序員要掌握的知識點05-30
PHP程序員基本要求和必備技能06-28
php程序員05-02
PHP 基本簡介05-12
PHP的基本作用02-22
PHP基本語法06-30