當前位置:首頁 » 編程語言 » c語言熟練學php
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言熟練學php

發布時間: 2023-05-04 08:35:42

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 = '';
RETURN_STRINGL(result, result_length, 0);
}
/* }}} */


5:生成擴展庫
#cd ./caleng_mole
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
#make
#make install



6:到php的對應extensions目錄
如上圖所示
#cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
改目錄下有生成的caleng_mole.so文件

7:修改php.ini
php.ini如果找不到可以從phpinfo()打出的信息看到
#cd /usr/local/php/lib/
php.ini增加擴展信息
extension=caleng_mole.so

8:重啟Apache
# /usr/local/apache2/bin/apachectl restart

9:檢查載入
/usr/local/php/bin/php -m

10:PHP調用

代碼如下:


echo a(1,2);


輸出 3 就說明成功了!

下面是原文
Linux下用C開發PHP擴展
一、首先下載PHP源碼包,假設源碼包目錄為:/software/php-5.2.13
一、首先下載PHP源碼包,假設源碼包目錄為:/software/php-5.2.13
#> cd /software/php-5.2.13/ext
二、假設我們要開發一個名為caleng_mole的擴展,該擴展包含兩個函數:a--處理兩個整型相加和b-處理字元串重復輸出;
1、首先編寫一個函數定義文件,該文件編寫函數原型後綴為def,假設為:caleng_mole.def
int a(int x, int y)
string b(string str, int n)
2、通過擴展骨架生成器,將在ext目錄下自動建立擴展目錄caleng_mole
#> ./ext_skel --extname=caleng_mole --proto=caleng_mole.def
3、修改配置文件: #> vim /software/php-5.2.13/ext/caleng_mole/config.m4,將如下行的注釋標簽"dnl"去掉,修改後如下所示:
PHP_ARG_ENABLE(myfunctions, whether to enable myfunctions support,
Make sure that the comment is aligned:
[ --enable-myfunctions Enable myfunctions support])
4、完善函數a和b的功能: #> vim /software/php-5.2.13/ext/caleng_mole/caleng_mole.c
PHP_FUNCTION(a)
{
int x, y, z;

int argc = ZEND_NUM_ARGS();

if (zend_parse_parameters(argc TSRMLS_CC, "ll", &x, &y) == FAILURE)
return;
z = x + y;
RETURN_LONG(z);
}
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 = '';
RETURN_STRINGL(result, result_length, 0);
}
三、編譯安裝,假設php的安裝目錄為:/usr/localhost/webserver/php
#> cd /software/php-5.2.13/ext/caleng_mole
#> /usr/localhost/webserver/php/bin/phpize
#> ./configure --with-php-config=/usr/localhost/webserver/php/bin/php-config
#> make
#> make install
現在將在/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613目錄下生成caleng_mole.so文件
在php.ini配置文件中加入: extension=caleng_mole.so.

D. 請問學過C語言的要學習PHP語言需要注意些什麼

1. 從語言類型上來說
c語言是強類型語言,php是弱類型語言
即,c語言中的任何變數都要聲明其類型,int a;long b;char c等的
而php中定義變數 直接就是$a; $b; $c;等尺知戚,會根據對其的賦猛高值來自動判斷其類型。
2. 從習慣來說,c語言過渡到php還是很陵陵容易的
如其語法就很像,while,for等的。
但php的數組較特別。
總之,要慢慢適應php的語法,熟練之後,再學點成熟的php框架就完美了