当前位置:首页 » 编程语言 » php中之美

php中之美

发布时间: 2023-08-27 19:22:34

php中都有哪些框架,为什么要用框架呢,用框架有什么好处

以下为十个目前最流行的基于MVC设计模式的PHP框架。

1. Yii

Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。

2. CodeIgniter

CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。

3. CakePHP

CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。

4. PHPDevShell

PHPDevShell是一个开源(GNU/LGPL)的快速应用开发框架,用于开发不含Javascript的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语。PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制的进行配置的GUI的需求。

5. Akelos

Akelos PHP框架是一个基于MVC设计模式的web应用开发平台。基于良好的使用习惯,使用它可以完成如下任务:

◆方便的使用Ajax编写views

◆通过控制器管理请求(request)及响应(response)

◆管理国际化的应用

◆使用简单的协议与模型及数据库通信

你的Akelos应用可以在大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。

6. Symfony

Symfony是一个用于开发PHP5项目的web应用框架。

这个框架的目的在于加速web应用的开发以及维护,减少重复的编码工作。

Symfony的系统需求不高,可以被轻易的安装在任意设置上:你只需一个Unix或Windows,搭配一个安装了PHP5的网络服务器即可。它与差不多所有的数据库兼容。Symfony的价位不高,相比主机上的花销要低得多。

对于PHP开发者而言,使用Symfony是一件很自然的事,其学习曲线只有短短一天。干净的设计以及代码可读性将缩短开发时间。开发者可以将敏捷开发的原理(如DRY,KISS或XP等)应用在其中,将重点放在应用逻辑层面上,而不用花费大量时间在编写没完没了的XML配置文件上。

Symfony旨在建立企业级的完善应用程序。也就是说,你拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。为了符合企业的开发条例,Symfony还绑定了一些额外的工具,以便于项目的测试,调试以及归档。

7. Prado

PRADO团队由一些PRADO狂热者组成,这些成员开发并推动PRADO框架以及相关项目的进行。

PRADO的灵感起源于Apache Tapestry。从04年开始,PRADO成为SourceForge上的开源项目之一。这个项目目前进展到了3.x版本。

8. Zend

作为PHP艺术及精神的延伸,Zend框架的基础在于简单,面向对象的最佳方法,方便企业的许可协议,以及经过反复测试的快速代码库。Zend框架旨在建造更安全,更可靠的Web 2.0应用及web服务,并不断从前沿厂商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那里吸收精华。

9. ZooP

Zoop PHP框架,意为Zoop面向对象的PHP框架。

这是个稳定,可伸缩并可移植的框架。从诞生到现在的5年间,已经在不少产品开发中被使用。Zoop是一个快速,有效并干净的框架。它的伸缩性很好,你可以只安装你需要的功能。

对代码并不很熟悉的开发者也可以通过Zoop快速的开发安全的web应用。熟练的开发者则可以更加将Zoop的弹性利用到极致。

Zoop建议将display,logic以及数据层(MVC)分开使用。

Zoop由很多组件和项目集合而成,其中包括smarty和prototype AJAX框架,PEAR模块等。高效的核心组件提供了很多你原本需要自己编码来实现的功能。Zoop内置的纠错功能可以通过配置实现生产环境下的错误日志生成,这个错误日志提供了很多信息,可读性很高,可以更轻易的寻找并排除错误。

Zoop的一个特别之处在于其GuiControls,在PHP中是一个相当革新的想法。它提供了很多form widgets与验证完整的集合到一起,并形成了一个可以轻松打造个性化GuiControls的框架。

10. QPHP

QPHP,意为快速PHP,它是一个与ASP.NET类似的MVC框架。基本上它是这样一个情况:

◆整合了Java和C#的美感

◆除去了在其他PHP框架中使用的Perl形式的意义含糊的语言

◆大量基于OOP的概念

国内的thinkphp也很不错,使用框架可以避免重建底层函数等,加快开发速度。

❷ php 定义变量为什么前面加一个美元($)符号呢

@ 被用到防止SQL输出错误信息了 # 常用的注释符号,UNIX系统下#有它的重大意思 % 被用作SQL模糊匹配和ASP程序 ^ 被用作正则中了 & 就更不用说了,被表示成and($a && $b) -+ 这属于运算符号,也不能用运罩 '; 之类的就更别提了。。。你看看,PHP除了用$符号还有什么好的选择?网友2:刚开始的时候觉得可以在双引号里直接写变量很爽。没个符号标识在前面估计很难判断。网友3:个人认为这样写的好处就是所有的变量到眼前就一目了然,比起不用符号的话,感觉很清晰网友4:看PHP代码就看到很多dollar集中一个看法,也就这几种了! 我想主要的原因旅迅在于 使变量更加的显拆悄此而易见, 让程序更容易让程序读懂, 也更容易让php服务器解释, 节节约时间

❸ 我是网站前台美工,我不懂PHP,只懂HTML,那如何美化php页面啊

有好的美工基础,也能美化好PHP程序,但并不是一定能够美化好PHP程序。

出于行业分工不同,php程序员对于html、css、js有一定的了解,但出于工作时间和兴趣,很多php程序员并不是太喜欢在这方面做太多的努力,这些都交给美工。所以美工应该对这些都要掌握,当然有的企业甚至专门有js程序员。

以前,程序员把html和php代码混合编写,导致美工与程序员无法分清,影响了工作效率,降低了产品质量。为解决这个问题,开始使用模板技术。使用模板以后,美工只管做静态页面,动态输出的内容,则使用表达式代替。如{#文章内容#}。

模板技术并不能够完全解决页面的美化问题。实际上,有许多情况下,美工对于程序员这些复杂的表达式,是很有束缚的,很难设计出富有人性化和创造力的页面。就我个人的一些经验,我提出我的一些看法:

1、网站美工先行。美工应该在程序员之前,设计出网站所需要的各种静态页面。对于同一类的,只需要设计一种,比如提示信息、出错信息。做得多无所谓,尽可的做得多。真正的工作量,可能不是页面的图片和页面的表格,而是页面复杂的表单信息和追求人性化的JS代码。

美工和程序员在动手之前,实际上脑海中都有对于项目应用的了解,只是双方的侧重各有不同,但对于静态页面,程序员其实也是清楚的,只是美工想到的是美观,而程序员想到的是实用。

2、美工应该对PHP特性多一些了解。因为受php官方的影响,php的程序员是质朴的,简洁的。所以不要去埋怨他们。即便你是美工,实际上你也不要有惧怕源码的观念,html、css、js都是源码,你不懂它们,很难做好一个页面,php也不是很复杂,了解一下有必要。正如程序员一样,他们对于美工也都有一定的了解。另外,任何程序化的页面,最难的在于处理循环。就是说,一样东西,要显示很多次。频道,有时候是1个,有时候是5个,菜单,有时候是2个,有时候是8个,还有表格的行数,诸如此类。所以美工要考虑这些动态内容的显示,既要兼顾美观,又要兼顾循环。对这些循环的东西,无法用图片直接表示,也不宜做得太复杂。根据第一条的经验,我觉得美工就是先做下去,然后程序员觉得这地方不好弄,美工再改。

3、对于php的成品,如果需要美化,还是参照第一条,把所有的php页面看清楚,用html做出来,然后交由程序员去整合。php成品,纯粹美工,是搞不定的。即便这些成品使用了模板技术,如果前期没有美工的介入,有时仍需要程序员去修改他的php代码。

绿色产品,手工打造。绝无复制,版权保留。

❹ php能美化页面么

当然了,你看看好多php的页面也都很漂亮啊,和语言没有多大关系啊,呵呵

PHP Designer 2008专业版+特别文件 完美版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=162005
PHP Designer 2007专业版+特别文件 完美版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=161997
PHP集成开发环境 Zend Studio Enterprise v5.5.0完美版
http://bbs.topsage.com/dispbbs_123_173512_1.html
O'Reilly Learning PHP & MySQL 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170283
PHP 5 傻瓜书
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=156854
PHP官方参考手册 中文+英文CHM版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=174312
Upgrading to PHP 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=172787
Wrox Beginning PHP 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=146843
PHP 5 Advanced
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152684
PHP 5与MySQL编程初学者指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152044
PHP 5和MySQL 5 从入门到精通 PDF文字版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=166059
PHP 4.1 从入门到精通
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159334
O'Reilly PHP Cookbook 第二版
http://bbs.topsage.com/dispbbs_123_171395_1.html
How to Do Everything with PHP and MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175991
PHP & MySQL Web Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175913
PHP Programming Solutions
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173163
PHP Objects Patterns and Practice
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173160
Learning PHP Data Objects
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=173151
PHP技术内幕
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159332
PHP最新参考手册
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146233
PHP程序设计
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146171
PHP经典100例
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152400
Object Oriented PHP Concepts Techniques and Code
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152398
The PHP Anthology 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=167353
PHP API使用完全指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=164843
Wiley出版 Makeing Use of PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=166790
PHP实例教程
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152574
PHP in Action
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152648
PHP+MySQL网络开发技术
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=156149
PHP设计模式构架师指南
http://bbs.topsage.com/dispbbs_123_171267_1.html
Dreamweaver CS3 with CSS, Ajax, and PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=147123
AJAX and PHP Building Responsive Web Applications
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=151261
Beginning Ajax with PHP
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=146176
PHP Programming with PEAR
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=148389
PHP MySQL and Apache自学教程
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=146232
PHP Apache和MySQL网页开发初步
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=148871
24小时学会使用PHP MySQL Apache
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=149004
PHP MySQL 网络应用程序开发核心
http://bbs.topsage.com/dispbbs.asp?BoardID=123&ID=149005
Professional LAMP - Linux,Apache,MySQL and PHP 5 Web Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152045
Setting Up LAMP - Getting Linux Apache MySQL and PHP Working Together
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=157654
Beginning PHP,Apache,MySQL Web Developmnet
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=151985
Beginning PHP and Oracle 从入门到精通
http://bbs.topsage.com/dispbbs_123_171292_1.html
PHP Data Objects for MySQL
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152186
MySQL and PHP from Scratch
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152162
Extending and Embedding PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152160
Wiley出版 Secure PHP Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=165544
O'Reilly Building Tag Clouds in Perl and PHP
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152158
Wrox Professional Apache Tomcat 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=152054
PHP MySQL编程初学者指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=158793
Beginning PHP and Oracle (PDF文字版)
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159155
Advanced PHP for Web Professionals
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159168
Essential PHP Security
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=175045
Pro PHP XML and Web Services
http://bbs.topsage.com/dispbbs_123_171266_1.html
Apache Server 2.0 实用指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159297
Apache管理员手册
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159296
Apache使用指南与实现原理
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159287
PHP专业项目实例开发 中文PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159322
PHP高级开发技术与实例 中文PDF影版
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159319
PHP 5 for Flash
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=159407
O'Reilly - Tomcat权威指南
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160138
Wrox Professional Apache Tomcat 6
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=157418
Pro Jakarta Tomcat 5
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160230
Foundations of PEAR - Rapid PHP Development
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=160612
Practical Web 2.0 Applications with PHP(Apress 2008最新版)
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170237
Practical Apache Struts 2 Web 2.0 Projects
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=170311

❺ 为什么 Laravel 会成为最成功最流行的 PHP 框架

Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,同时提供了完整而清晰的文档,而且为快速、安全地开发现代应用提供了必要的功能。

2011年,Taylor Otwell首次将Laravel带给这个世界,彼时,Laravel就是一个全新且现代的框架。Laravel基于MVC架构,可以满足诸如事件处理、用户身份验证等各种需求,同时通过包管理实现模块化和可扩展的代码,并且对数据库管理有着健壮的支持。

不管是专家还是新手,一旦接触到Laravel,都会有相见恨晚之感——这正是你在为PHP项目寻找的框架。本文我们将讨论为什么Laravel会成为最成功最流行的PHP框架。

模块化&可扩展性

Laravel是模块化和可扩展的,你可以在包含超过5500个程序包的Packalyst中找到你想要添加的任何代码。

微服务&API

Lumen是一个由Laravel衍生的专注于性能的微框架。使用Lumen提供的高性能API你可以更加简单快速地开发微型项目。Lumen使用最小的配置集成了Laravel的所有重要特性,你可以通过将代码复制到Laravel项目来实现框架的完整迁移。
<?php
$app->get('/', function() {
return view('lumen');
});

$app->post('framework/{id}', function($framework) {
$this->dispatch(new Energy($framework));
});

HTTP路由

Laravel拥有类似于Ruby on Rails的快速高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。
Route::get('/', function () {
return 'Hello World';
});

HTTP中间件
Route::get('/', function () {
return 'Hello World';
});

Laravel可以通过中间件对应用进行保护——中间件会处理分析和过滤到达服务器的HTTP请求。你可以使用中间件来验证注册用户、避免跨站脚本攻击(XSS)以及其它安全问题。
<?php
namespace App\Http\Middleware;
use Closure;
class OldMiddleware {
public function handle($request, Closure $next) {
if ($request->input('age') <= 200) {
return redirect('home');
}
return $next($request);
}
}

缓存

Laravel提供了健壮的缓存系统,使用缓存可以让应用加载地更加快速,从而带来更好的用户体验。
Cache::extend('mongo', function($app) {
return Cache::repository(new MongoStore);
});

身份验证

安全是至关重要的。Laravel自带对本地用户的身份验证,并可以使用“remember” 选项来记住用户。此外你还可以引入一些额外参数,例如是否是活跃用户。
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) {
// The user is being remembered...
}

集成Stripe

Laravel Cashier可以满足你开发支付系统过程中所需要的任何需求。除此之外,它还同步并集成了用户身份验证系统。所以,你不再需要担心如何将计费系统集成到开发中了。
$user = User::find(1);
$user->subscription('monthly')->create($creditCardToken);

任务自动化

Elixir是一个让我们可以使用Gulp定义任务的Laravel API,我们可以使用Elixir定义预处理器来压缩CSS 和JavaScript。
elixir(function(mix) {
mix.browserify('main.js');
});

加密

一个安全的应用应该做到可以对数据进行加密。在Laravel中,可以使用OpenSSL和AES-256-CBC加密算法来满足你所有的加密需求。此外,所有的加密值都通过认证码进行签名以避免加密信息被篡改。
use Illuminate\Contracts\Encryption\DecryptException;
try {
$decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}

事件处理

Laravel应用中对事件的定义、记录和监听都非常便捷。服务提供者EventServiceProvider中的listen属性包含了应用中的所有事件列表。
protected $listen = [
'App\Events\PodcastWasPurchased' => [
'App\Listeners\EmailPurchaseConfirmation',
],
];

分页

在Laravel中分页非常简单,因为它能够根据用户在浏览器中的当前页生成一系列分页链接。
<?php
namespace App\Http\Controllers;
use DB;
use App\Http\Controllers\Controller;
class UserController extends Controller {
public function index() {
$users = DB::table('users')->paginate(15);
return view('user.index', ['users' => $users]);
}
}

对象关系映射(ORM)

Laravel包含了一个数据库处理层,其中的对象关系映射被称作Eloquent。另外这个对象关系映射也适用于PostgreSQL。
$users = User::where('votes', '>', 100)->take(10)->get();
foreach ($users as $user) {
var_mp($user->name);
}

单元测试

单元测试的开发是一个耗费大量时间的任务,但是它却保证了我们的应用能够正常工作,不出问题。Laravel使用PHPUnit进行单元测试。
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ExampleTest extends TestCase {
public function testBasicExample() {
$this->visit('/')->see('Laravel 5')->dontSee('Rails');
}
}

待办事项清单(Queue)

Laravel提供了在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择,好吧,其实就是队列,队列可以让我们异步处理某些流程而不需要用户在加载页面时长时间的等待。
Queue::push ( new SendEmail ( $ message ));

热点内容
如何修改已经更改的密码 发布:2025-02-04 13:38:38 浏览:772
唐dm2021买哪个配置划算 发布:2025-02-04 13:38:38 浏览:626
真空压缩重 发布:2025-02-04 13:38:37 浏览:639
alias脚本 发布:2025-02-04 13:38:03 浏览:739
linux终端字符 发布:2025-02-04 12:52:40 浏览:734
c语言程序设计mobi 发布:2025-02-04 12:51:55 浏览:258
rsa算法c语言 发布:2025-02-04 12:50:36 浏览:784
阿里云服务器托管破解 发布:2025-02-04 12:47:43 浏览:256
汽车都有什么配置 发布:2025-02-04 12:42:51 浏览:457
ons解压密码 发布:2025-02-04 12:42:43 浏览:778