phalcon-入门篇1(基本介绍与环境搭建)

2024-05-31 07:32

本文主要是介绍phalcon-入门篇1(基本介绍与环境搭建),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

phalcon-入门篇1(基本介绍与环境搭建)

前言

先在这里感谢各位phalcon技术爱好者,我们提供这样一个优秀的交流平台

离结束了PhalApi教程之后一个多月,我喵了个咪又回来了,这次为大家带来的教程是一款国外的php的C底层框架phalcon,有关注的童鞋都知道在2014年PHP框架排行榜phalcon拍到了第二名的位置(当然是在国外),前段时间也是好奇简单的学习了一下,确实有很多值得开始思考的地方,但是救我认为phalcon学习成本还是相对比较高的,我也希望通过次教程让跟多的童鞋接触喜欢phalcon,那么从今天,喵咪就开始与大家一同学习phalcon框架了,也希望大家多多关注多多支持,废话不多说让我们开始吧!

注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术

附上:

喵了个咪的博客:w-blog.cn

phalcon官网地址:https://phalconphp.com

phalcon中文社区:http://www.iphalcon.cn/

1. phalcon介绍

phalcon是一款C语言写的底层框架,应为是C语言底层性能自然不用说,并且功能比较全面目前最新版本为v.2.0.9,当我们在开发非常注重性能的项目时它会是一个不错的选择,下图为14年的框架排行,虽然在15年有所降低但是也在框架使用前列

接下来介绍一下我对它的优缺点的认识:

1.1 phalcon的优点

  1. 说到优点不得不提的就是性能卓越,号称是最快的php框架
  2. 先进的思想多样的功能,phalcon给我的第一感觉就是哇功能这么强大
  3. 不俗的热情phalcon在国外的热度基本不用说,并且在国内也有很多爱好者和追捧者并且建立了中文社区等等
  4. 灵活搭配,phalcon并不像某些框架,你需要这样这样或者是这样这样你才能使用起来,phalcon基本松耦合的状态可以自己搭配出需要的功能

1.2 phalcon的缺点

  1. 说道缺点不得不提的就是黑盒开发,在框架内部出了问题很难基本就无解了
  2. 中文资料较少,虽然官网给出了中文文档但是翻译着实不全
  3. 对新手不友好学习成本高

2 phalcon对比其他框架

我们先看一下官方提供的框架性能对比图:

在这里我针对于我们几个常用的框架做了一下对比Yaf(鸟哥写的C语言框架),ThinkPhp(国内运用广泛的mvc框架),PhalApi(纯API框架),phalcon
分别从性能,功能,易用性,国内社区支持(此次排名均属于个人观点提供参考)

性能:

yaf从性能上来说是最好的他的速度最快原因是应为底层功能逼phalcon简单 差距非常小

phalapi虽然是轻量级API框架但是和C底层框架也还是有一点的差距的

thinkphp就不用说了

Yaf -> phalcon -> phalapi -> thinkphp

功能:

phalcon当之无愧排在第一

phalapi应为没有View层所以在功能上并不如thinkphp

yaf连DB层都需要自己采用第三方的所以功能性上面最差

phalcon -> thinkphp -> phalapi -> Yaf

易用性:

phalapi是国人写的轻量级API框架针对API来说易用性最好

对于国人来说thinkphp针对性非常强所以易用性排在第二

yaf和phalcon基本不相上下

phalapi -> thinkphp -> phalcon = Yaf

国内社区支持:

在国内社区支持上面thinkphp当值无愧

phalapi虽然是新框架已经进入开源中国TOP 50 也很强给个第二名

yaf虽然是鸟哥写的框架可是占有率感人所以和phalcon打平

thinkphp -> phalapi -> phalcon = Yaf

从上面大家不难看出phalcon还是很优秀的,但是在易用性以及文档社区支持上面,在国内环境还是比较吃亏的,这也是我这次写教程的目的

3. 环境搭建以及phalcon安装

环境搭建

在这里还是推荐使用(我后面有些配置等都会基于以下环境)lnmp:

Liunx+Nginx+php5.4以上+mysql

我使用的是centos6.5

有三种方式配置环境

1.手动编译安装(网上资料也挺多的但是容易出一些依赖什么什么的问题,新手不推荐)2.yum或apt-get安装(yum安装无法指定目录都会装到/etc下面去不方便管理,但是要玩liunx必须要会)3.lnmp一键安装工具(推荐:但是推荐基于上面几种都尝试过,这个安装方式基于--编译安装)

我推荐一个lnmp一键配置软件:

官网:OneinStack – 一键PHP/JAVA安装工具:http://oneinstack.com/

因为官网介绍的比较详细,在这里就不再多做说明!其余几种方式教程都比较多也不做说明!

phalcon安装

这里就不再说明windows下phalcon怎么安装了,ubuntu请自行加上 sudo

通用平台下安装指定的软件包:

# Ubuntu
sudo apt-get install php5-dev libpcre3-dev gcc make php5-mysql# CentOS
sudo yum install php-devel pcre-devel gcc make

创建扩展:

git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
./install

添加扩展到你的php配置文件:

extension=phalcon.so

然后重启php-fpm

service php-fpm restart

大家就可以看phpinfo里面看到phalcon拓展了

4. 总结

今天主要是简单的挖个坑,在之后会从基础使用一步一步的深入,到ORM使用,到思想解读一同探索,因为笔者也是在学习阶段,基本会保持在1~2周内进行更新,多谢大家的关注以及支持,那么今天就到这里了,拜拜!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

Phalcon技术交流:364520707 PhalCon中文社区:287484785 欢迎大家的加入!

这篇关于phalcon-入门篇1(基本介绍与环境搭建)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017566

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次