首页 > 后端开发 > 正文

用c语言开发的php框架 到底如何选择PHP框架

2023-10-02 23:42:51 | 我爱编程网

用c语言开发的php框架 到底如何选择PHP框架很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

用c语言开发的php框架 到底如何选择PHP框架

到底如何选择PHP框架

主张不需要大小项目都用框架的,框架的最大优势在于规范协作开发,其次是很多资源都已准备好快速进入项目开发。但框架牺牲了不少性能,同一样一个输出语句,框架要调用几十个方法才能实现。

初学php,框架建议选择Thinkphp或才CodeIgniter,Thinkphp是国内非常流行的一个框架,学习资源,代码资源都很丰富,碰到疑问也可以很快找到答案。CodeIgniter是最接近原生态php的框架,学过php基础的人都很易上手,性能会比Thinkphp好一点,但国内社区不是很活跃,又是非国产框架,资源方面略输。

中级php,建议选择YII或者Symfony之类的框架,这两者在中型大型项目中都可以应付自由。社区活动程度还不错,资源不少。

高级php,建议选择Laravel或者yaf这类框架。Laravel是近几年才兴趣的框架,设计理念比较理,也没有历史php版本的包袱,据说是最优雅的框架。但学习上有一定门槛,特别是composer方式的包管理,需要理解透。yaf框架呢,是一个用C语言写出来的php框架, 性能方面没得说,据我了解到应该是最高的了,新浪不少应用都是用这个框架。但这个要服务器支持才行,部署起来麻烦点。

资深php,无招胜有招吧。

用c语言开发的php框架 到底如何选择PHP框架

如何用C语言编写PHP扩展的详解

1:预定义
在home目录,也可以其他任意目录,写一个文件,例如caleng_module.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_module --proto=/home/hm/caleng_module.def

3:修改config.m4
去掉dnl的注释
PHP_ARG_ENABLE(caleng_module, whether to enable caleng_module support,
Make sure that the comment is aligned:
[ --enable-caleng_module Enable caleng_module support])

4:修改caleng_module.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 = '\0';
RETURN_STRINGL(result, result_length, 0);
}
/* }}} */

5:生成扩展库
#cd ./caleng_module
#/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_module.so文件

7:修改php.ini
php.ini如果找不到可以从phpinfo()打出的信息看到
#cd /usr/local/php/lib/
php.ini增加扩展信息
extension=caleng_module.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_module的扩展,该扩展包含两个函数:a--处理两个整型相加和b-处理字符串重复输出;
1、首先编写一个函数定义文件,该文件编写函数原型后缀为def,假设为:caleng_module.def
int a(int x, int y)
string b(string str, int n)
2、通过扩展骨架生成器,将在ext目录下自动建立扩展目录caleng_module
#> ./ext_skel --extname=caleng_module --proto=caleng_module.def
3、修改配置文件: #> vim /software/php-5.2.13/ext/caleng_module/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_module/caleng_module.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 = '\0';
RETURN_STRINGL(result, result_length, 0);
}
三、编译安装,假设php的安装目录为:/usr/localhost/webserver/php
#> cd /software/php-5.2.13/ext/caleng_module
#> /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_module.so文件
在php.ini配置文件中加入: extension=caleng_module.so.
搞定收工

用c语言开发的php框架 到底如何选择PHP框架

php是用什么语言开发的,c语言吗?

php的解释器是用c写的,解释器相当于弱编译器,但是php本身并不基于某种底层语言。

PHP在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

扩展资料

主要特点

(一)开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。

(二)快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

(三)数据库连接的广泛性 我爱编程网

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

参考资料来源: 百度百科-PHP

以上就是我爱编程网为大家带来的用c语言开发的php框架 到底如何选择PHP框架,希望能帮助到大家!
与“用c语言开发的php框架 到底如何选择PHP框架”相关推荐
c语言写的php框架 到底如何选择PHP框架
c语言写的php框架 到底如何选择PHP框架

到底如何选择PHP框架主张不需要大小项目都用框架的,框架的最大优势在于规范协作开发,其次是很多资源都已准备好快速进入项目开发。但框架牺牲了不少性能,同一样一个输出语句,框架要调用几十个方法才能实现。初学php,框架建议选择Thinkphp或才CodeIgniter,Thinkphp是国内非常流行的一个框架,学习资源,代码资源都很丰富,碰到疑问也可以很快找到答案。CodeIgniter是

2023-09-26 12:03:29
如何看待c语言开发php框架 到底如何选择PHP框架
如何看待c语言开发php框架 到底如何选择PHP框架

php是用什么语言开发的,c语言吗?php的解释器是用c写的,解释器相当于弱编译器,但是php本身并不基于某种底层语言。PHP在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。如何理解c/c++和php语言的区别

2023-08-28 10:23:43
新浪php框架 到底如何选择PHP框架
新浪php框架 到底如何选择PHP框架

到底如何选择PHP框架主张不需要大小项目都用框架的,框架的最大优势在于规范协作开发,其次是很多资源都已准备好快速进入项目开发。但框架牺牲了不少性能,同一样一个输出语句,框架要调用几十个方法才能实现。初学php,框架建议选择Thinkphp或才CodeIgniter,Thinkphp是国内非常流行的一个框架,学习资源,代码资源都很丰富,碰到疑问也可以很快找到答案。CodeIgniter是

2023-09-02 21:55:52
php框架理念 到底如何选择PHP框架
php框架理念 到底如何选择PHP框架

php网站建设已经成为了主流的方式相信每个人都知道php语言作为一门主机端语言,汇集了多种语言的长处,随着技术的发展,php应该算是现在大中小公司网站,会使用的建设网站语言,相对于asp和jsp来说,php确实在很多方面适用个人以及小型企业做开发,php网站建设之所以成为了主流的方式,这是由于php本身的优势导致的。应该选择适用自己的编辑工具,php的编辑工具有很多,每款编辑工具都有

2023-09-05 12:33:38
php选择框架还是原生好 到底如何选择PHP框架
php选择框架还是原生好 到底如何选择PHP框架

到底如何选择PHP框架主张不需要大小项目都用框架的,框架的最大优势在于规范协作开发,其次是很多资源都已准备好快速进入项目开发。但框架牺牲了不少性能,同一样一个输出语句,框架要调用几十个方法才能实现。初学php,框架建议选择Thinkphp或才CodeIgniter,Thinkphp是国内非常流行的一个框架,学习资源,代码资源都很丰富,碰到疑问也可以很快找到答案。CodeIgniter是

2023-09-29 10:00:06
从seo角度选PHP框架 到底如何选择PHP框架
从seo角度选PHP框架 到底如何选择PHP框架

如何选择一门适合自己的php框架PHP作为一门成熟的WEB应用开发语言,已经深受广大开发者的青睐。与此同时,各式各样的PHP开发框架也从出不穷,面对如此多而且良莠不齐的开发框架,开发者们想必都会眼花缭乱,不知道该选择用哪个。其实并没有一个标准来衡量哪个开发框架就是最好的,开发者们需要根据自己的需求和项目要求来选择。今天蝉知小编和大家交流分享下开发者们在选择PHP开发框架时应该考虑哪些因素。

2023-09-29 13:05:14
怎么判断自己用的php框架 到底如何选择PHP框架
怎么判断自己用的php框架 到底如何选择PHP框架

如何选择一门适合自己的php框架PHP作为一门成熟的WEB应用开发语言,已经深受广大开发者的青睐。与此同时,各式各样的PHP开发框架也从出不穷,面对如此多而且良莠不齐的开发框架,开发者们想必都会眼花缭乱,不知道该选择用哪个。其实并没有一个标准来衡量哪个开发框架就是最好的,开发者们需要根据自己的需求和项目要求来选择。今天蝉知小编和大家交流分享下开发者们在选择PHP开发框架时应该考虑哪些因素。

2023-10-04 20:12:23
到底如何选择php框架 PHP有哪些流行的框架
到底如何选择php框架 PHP有哪些流行的框架

php需要学习哪些框架PHP需要学习哪些框架呢?让我们一起了解一下!PHP需要学习的框架有很多,下面为您例举几种常用的框架:国内框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP等。国外框架:ZendFramework、Codelgniter、CakePHP、Symfony、Yii、Seagull、Laravel等。拓展:什么

2023-09-21 12:22:23