A. 我有c語言程序的基礎,現在想學PHP,請問應該怎麼做
1.
准備資源,先裝一個環境,推薦初學者使用xampp,一個集成了幾乎所有PHP開發中能用到的擴展包以及一個Web伺服器Apache,一個資料庫Mysql。
2.
下載手冊,PHP的手冊是我見過寫得最好的手冊,通俗易懂。如果有C語言基礎,大概瀏覽一下手冊,基本就能寫一些簡單的PHP程序了。
3.
需要找一本書,大概所有的PHP書都會講一些基礎以及包含一個站點的開發。
4.
需要做一個小項目,大概類似留言板的項目得做做。
對於基礎的就這幾點了。
B. 學過C語言,PHP該如何學習php的環境搭配好像很復雜的說! 有沒有已經從事這方面工作的給點意見
學過C語言就好說些了,相信你對程序有一定的理解了。但是要學好php也要吃不少苦頭的,c語言是遠遠不夠的。必須對資料庫(與php搭配的話用mysql資料庫比較好),javascript,html等等都要掌握。php伺服器環境不難搭建,我有綠色版的「一鍵搭建PHP+MySQL+ASP+Nginx平台」軟體(帶MySQL資料庫),你感興塌飢趣的話給我留個言我發給你,保證可用,我一直用著測試php或asp。
要想學好php、asp、jsp或者.net,就必須實踐。有老師帶的話會事半功倍,要是自學,那就要有股子鑽勁了,必須手持一本php入門書,要是你還沒接觸過網頁製作,那有一本html入門教程了也是有必要的了。按照書上的實例自己動手實現它,別只看,一定要請自動手做不要嫌麻煩,這是學習最快最好的途徑。先從初級的靜態網頁做起,在慢慢接觸動態網頁,加個登陸啊、留言、圖片上傳啊等等的小功能。關鍵是入門,入門之後再學起了就順手多了。
我倒建議你學習.net,我大學時自學的asp,工作後發現不太好就有學習了asp.net,但學習.net不僅要掌握javascript還要掌握c#。c#.net是現在炙手可熱的技術,也是以後的趨勢。我提到的這幾種網頁開發技弊穗術,你可以自己去搜一下團卜返他們的優劣對比。
C. 如何用C語言編寫PHP擴展的詳解
1:預定義
在home目錄,也可以其他任意目錄,寫一個文件,例如caleng_mole.def
內容是你希望定義的函數名以及參數:
int a(int x,int y)
string b(string str,int n)
2:到php源碼目錄的ext目錄
#cd /usr/local/php-5.4.0/ext/
執行命令,生成對應擴展目錄
#./ext_skel --extname=caleng_mole --proto=/home/hm/caleng_mole.def
3:修改config.m4
去掉dnl的注釋
PHP_ARG_ENABLE(caleng_mole, whether to enable caleng_mole support,
Make sure that the comment is aligned:
[ --enable-caleng_mole Enable caleng_mole support])
4:修改caleng_mole.c
代碼如下:
/* {{{ proto int a(int x, int y)
*/
PHP_FUNCTION(a)
{
int argc = ZEND_NUM_ARGS();
int x;
int y;
int z;
if (zend_parse_parameters(argc TSRMLS_CC, "ll", &x, &y) == FAILURE)
return;
z=x+y;
RETURN_LONG(z);
}
/* }}} */
/* {{{ proto string b(string str, int n)
*/
PHP_FUNCTION(b)
{
char *str = NULL;
int argc = ZEND_NUM_ARGS();
int str_len;
long n;
char *result;
char *ptr;
int result_length;
if (zend_parse_parameters(argc TSRMLS_CC, "sl", &str, &str_len, &n) == FAILURE)
return;
result_length = str_len * n;
result = (char *) emalloc(result_length + 1);
ptr = result;
while (n--) {
memcpy(ptr, str, str_len);
ptr += str_len;
}
*ptr = '