欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

php語(yǔ)言

PHP程序員基本知識(shí)點(diǎn)

時(shí)間:2025-06-02 23:21:17 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP程序員基本知識(shí)點(diǎn)

  PHP程序員有哪些必備知識(shí)點(diǎn)?下面是百分網(wǎng)小編精心為大家整理的PHP程序員的基本知識(shí)點(diǎn),希望對(duì)大家有幫助,更多內(nèi)容請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!

PHP程序員基本知識(shí)點(diǎn)

  1.1 HTTP協(xié)議中幾個(gè)狀態(tài)碼的含義:503 500 401 403 404 200 301 302。。。

  200 : 請(qǐng)求成功,請(qǐng)求的數(shù)據(jù)隨之返回。

  301 : 永久性重定向。

  302 : 暫時(shí)行重定向。

  401 : 當(dāng)前請(qǐng)求需要用戶(hù)驗(yàn)證。

  403 : 服務(wù)器拒絕執(zhí)行請(qǐng)求,即沒(méi)有權(quán)限。

  404 : 請(qǐng)求失敗,請(qǐng)求的數(shù)據(jù)在服務(wù)器上未發(fā)現(xiàn)。

  500 : 服務(wù)器錯(cuò)誤。一般服務(wù)器端程序執(zhí)行錯(cuò)誤。

  503 : 服務(wù)器臨時(shí)維護(hù)或過(guò)載。這個(gè)狀態(tài)時(shí)臨時(shí)性的。

  1.2 Include require include_once require_once 的區(qū)別.

  處理失敗方式不同:

  require 失敗時(shí)會(huì)產(chǎn)生一個(gè)致命級(jí)別錯(cuò)誤,并停止程序運(yùn)行。

  include 失敗時(shí)只產(chǎn)生一個(gè)警告級(jí)別錯(cuò)誤,程序繼續(xù)運(yùn)行。

  include_once/require_once和include/require 處理錯(cuò)誤方式一樣,

  唯一區(qū)別在于當(dāng)所包含的文件代碼已經(jīng)存在時(shí)候,不在包含。

  1.3 PHP/Mysql中幾個(gè)版本的進(jìn)化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改進(jìn)等等。

  1.4 HEREDOC介紹

  一種定義字符串的方法。

  結(jié)構(gòu):

  <<<。在該提示符后面,要定義個(gè)標(biāo)識(shí)符(單獨(dú)一行),

  然后是一個(gè)新行。接下來(lái)是字符串 本身,

  最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志(單獨(dú)一行)

  注意:

  標(biāo)識(shí)符的命名也要像其它標(biāo)簽一樣遵守PHP的規(guī)則:

  只能包含字母、數(shù)字和下劃線,并且必須以字母和下劃線作為開(kāi)頭

  1.5 寫(xiě)出一些php魔幻(術(shù))方法;

  __construct() 實(shí)例化類(lèi)時(shí)自動(dòng)調(diào)用。

  __destruct() 類(lèi)對(duì)象使用結(jié)束時(shí)自動(dòng)調(diào)用。

  __set() 在給未定義的屬性賦值的時(shí)候調(diào)用。

  __get() 調(diào)用未定義的屬性時(shí)候調(diào)用。

  __isset() 使用isset()或empty()函數(shù)時(shí)候會(huì)調(diào)用。

  __unset() 使用unset()時(shí)候會(huì)調(diào)用。

  __sleep() 使用serialize序列化時(shí)候調(diào)用。

  __wakeup() 使用unserialize反序列化的時(shí)候調(diào)用。

  __call() 調(diào)用一個(gè)不存在的方法的時(shí)候調(diào)用。

  __callStatic()調(diào)用一個(gè)不存在的靜態(tài)方法是調(diào)用。

  __toString() 把對(duì)象轉(zhuǎn)換成字符串的時(shí)候會(huì)調(diào)用。比如 echo。

  __invoke() 當(dāng)嘗試把對(duì)象當(dāng)方法調(diào)用時(shí)調(diào)用。

  __set_state() 當(dāng)使用var_export()函數(shù)時(shí)候調(diào)用。接受一個(gè)數(shù)組參數(shù)。

  __clone() 當(dāng)使用clone復(fù)制一個(gè)對(duì)象時(shí)候調(diào)用。

  1.6 一些編譯php時(shí)的configure 參數(shù)

  –prefix=/usr/local/php php安裝目錄

  –with-config-file-path=/usr/local/php/etc 指定php.ini位置

  –with-mysql=/usr/local/mysql mysql安裝目錄,對(duì)mysql的支持

  –with-mysqli=/usr/local/mysql/bin/mysql_config mysqli文件目錄,優(yōu)化支持

  –enable-safe-mode 打開(kāi)安全模式

  –enable-ftp 打開(kāi)ftp的支持

  –enable-zip 打開(kāi)對(duì)zip的支持

  –with-bz2 打開(kāi)對(duì)bz2文件的支持

  –with-jpeg-dir 打開(kāi)對(duì)jpeg圖片的支持

  –with-png-dir 打開(kāi)對(duì)png圖片的支持

  –with-freetype-dir 打開(kāi)對(duì)freetype字體庫(kù)的支持

  –without-iconv關(guān)閉iconv函數(shù),種字符集間的轉(zhuǎn)換

  –with-libxml-dir 打開(kāi)libxml2庫(kù)的支持

  –with-xmlrpc 打開(kāi)xml-rpc的c語(yǔ)言

  –with-zlib-dir 打開(kāi)zlib庫(kù)的支持

  –with-gd 打開(kāi)gd庫(kù)的支持

  更多可以使用 ./configure help 查看

  1.7 向php傳入?yún)?shù)的三種方法。

  方法一 使用$argc $argv

  方法二 使用getopt函數(shù)()

  方法三 提示用戶(hù)輸入,然后獲取輸入的參數(shù)。有點(diǎn)像C語(yǔ)言

  1.8 (mysql)請(qǐng)寫(xiě)出數(shù)據(jù)類(lèi)型(int char varchar datetime text)的意思; 請(qǐng)問(wèn)varchar和char有什么區(qū)別;

  int : 數(shù)值類(lèi)型

  char : 固定長(zhǎng)度字符串類(lèi)型

  varchar : 可變長(zhǎng)度字符串類(lèi)型

  datetime : 時(shí)期時(shí)間類(lèi)型

  text : 文本類(lèi)型

  varchar和char有什么區(qū)別:

  a. char 長(zhǎng)度是固定的,不管你存儲(chǔ)的數(shù)據(jù)是多少他都會(huì)都固定的長(zhǎng)度。

  而varchar則處可變長(zhǎng)度但他要在總長(zhǎng)度上加1字符,這個(gè)用來(lái)存儲(chǔ)位置。

  b. char 固定長(zhǎng)度,所以在處理速度上要比varchar快速很多,但是浪費(fèi)存儲(chǔ)空間,

  所以對(duì)存儲(chǔ)不大,但在速度上有要求的可以使用char類(lèi)型,反之可以用varchar類(lèi)型來(lái)實(shí)例。

  1.9 error_reporting 等調(diào)試函數(shù)使用

  error_reporting() 函數(shù)能夠在運(yùn)行時(shí)設(shè)置php.ini中 error_reporting 指令。

  所以可以再程序中隨時(shí)調(diào)節(jié)顯示的錯(cuò)誤級(jí)別。

  使用此函數(shù)時(shí) display_errors必須是打開(kāi)狀態(tài)。

  1.10 您是否用過(guò)版本控制軟件? 如果有您用的版本控制軟件的名字是?

  1.11 posix和perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別;

  1.12 Safe_mode 打開(kāi)后哪些地方受限.

  啟動(dòng)safe_mode,會(huì)對(duì)許多PHP函數(shù)進(jìn)行限制,特別是和系統(tǒng)相關(guān)的文件打開(kāi)、命令執(zhí)行等函數(shù).

  所有操作文件的函數(shù)將只能操作與腳本UID相同的文件.

  1.13 寫(xiě)代碼來(lái)解決多進(jìn)程/線程同時(shí)讀寫(xiě)一個(gè)文件的問(wèn)題。

  PHP是不支持多線程的,可以使用php的flock加鎖函數(shù)實(shí)現(xiàn)。

  $fp = fopen("/tmp/lock.txt", "w+");

  if (flock($fp, LOCK_EX)) { // 進(jìn)行排它型鎖定

  fwrite($fp, "Write something here\n");

  flock($fp, LOCK_UN); // 釋放鎖定

  } else {

  echo "Couldn't lock the file !";

  }

  fclose($fp);

  1.14 寫(xiě)一段上傳文件的代碼。

  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 的存儲(chǔ)引擎,myisam和innodb的區(qū)別。

  a. MyISAM類(lèi)型不支持事務(wù)處理等高級(jí)處理,而InnoDB類(lèi)型支持.

  b. MyISAM類(lèi)型的表強(qiáng)調(diào)的是性能,其執(zhí)行數(shù)度比InnoDB類(lèi)型更快.

  c. InnoDB不支持FULLTEXT類(lèi)型的索引.

  d. InnoDB 中不保存表的具體行數(shù),也就是說(shuō),

  執(zhí)行select count(*) from table時(shí),InnoDB要掃描一遍整個(gè)表來(lái)計(jì)算有多少行,

  但是MyISAM只要簡(jiǎn)單的讀出保存好的行數(shù)即可.

  e. 對(duì)于AUTO_INCREMENT類(lèi)型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯(lián)合索引。

  f. DELETE FROM table時(shí),InnoDB不會(huì)重新建立表,而是一行一行的刪除。

  g. LOAD TABLE FROM MASTER操作對(duì)InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導(dǎo)入數(shù)據(jù)后再改成InnoDB表,

  但是對(duì)于使用的額外的InnoDB特性(例如外鍵)的表不適用.

  h. MyISAM支持表鎖,InnoDB支持行鎖。

【PHP程序員基本知識(shí)點(diǎn)】相關(guān)文章:

PHP程序員容易忽略的知識(shí)點(diǎn)01-10

PHP程序員要掌握的知識(shí)點(diǎn)05-30

PHP編程入門(mén)的基本語(yǔ)法知識(shí)點(diǎn)總結(jié)06-22

PHP程序員基本要求和必備技能06-28

php程序員05-02

PHP 基本簡(jiǎn)介05-12

PHP的基本作用02-22

PHP基本語(yǔ)法06-30

PHP程序員掌握基本概念有哪些技術(shù)06-07