首页 > 后端开发 > 正文

基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?

2023-09-17 14:19:25 | 我爱编程网

在平时的学习生活当中,对于后端开发一定都很关心,今天我爱编程网小编为大家整理了基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?,希望能够帮助到大家。

基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?

新人刚接触PHP,哪种框架比较容易上手?

如果是刚接触PHP的话,建议你不要那么快去上手框架,框架的话,可能有一个很大的原因是大家正在使用中,可以很快的开发到一个应用程序,但是作为新手(如果没有其他语言编程经验),最好是先打好基础,不推荐直接使用框架,这样的话可以得到更多的东西。

尽管要先打好基础,这是王道,但还是可以为之推荐几个比较好用的框架。

比如说,Zend。所谓的官方的PHP框架是很宽松的,可以根据需要使用。开始学习不是很好,但如果你真正理解它,它会很有效。因为Zend的背后,会不会担心非维护问题。缺点是虽然文档看起来很多,但不容易理解。

另外,还有symfony

这个应该是法国的老的框架,非常大,适用于企业级的项目。许多的配置是YAML,以及对环境的要求是很麻烦的。

以及Slim Framework 我爱编程网

它是基于RESTful route的组织,而且值得一提的是它压缩包只有80KB,可以说是十分“轻便”了,这是一个轻量级框架。

还有CI-codeignighter

虽然这个比较老了,但是还是有一定的参考价值的。这个与zendframk比较起来,它的语法相对比较简单,而且有一些书籍可供参考,当然,书还是配套的。

上面只是简单提到了一些,作为刚刚接触的新人,还是打好基础最为紧要。

基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?

PHP如何实现RESTful原理



PHP如何实现RESTful原理
首先定义一个请求数据接收类;然后请求类中根据请求类型,进行访问不通方法;
class Request
{
// 允许的请求方式
private static $method_type = array('get', 'post', 'put', 'patch', 'delete');
// 测试数据
private static $test_class = array(
1 => array('name'=>'测试一班','count'=>18),
2 => array('name'=>'测试二班','count'=>15)
);
public static function getRequest()
{
// 请求方法
$method = strtolower($_SERVER['REQUEST_METHOD']);
if (in_array($method, self::$method_type)) {
// 调用请求方法对应的方法
$data_name = $method . "Data";
return self::$data_name($_REQUEST);
}
return false;
}
// GET 获取信息
private static function getData($request_data)
{
$class_id = (int)$request_data['class'];
if ($class_id > 0) {
// GET /class/ID: 获取某个指定班的信息
return self::$test_class[$class_id];
}else{
// GET /class: 列出所有班级
return self::$test_class;
}
}
// POST /class 新建一个班级
private static function postData($request_data)
{
$class_id = (int)$request_data['class'];
if ($class_id == 0) {
return false;
}
$data = array();
if (!empty($request_data['name']) && isset($request_data['count'])) {
$data['name'] = $request_data['name'];
$data['count'] = $request_data['count'];
self::$test_class[] = $data;
return self::$test_class;
}else{
return false;
}
}
// PUT /class/ID 更新某个指定班级的信息(全部信息)
private static function putData($request_data)
{
$class_id = (int)$request_data['class'];
if ($class_id == 0) {
return false;
}
$data = array();
if (!empty($request_data['name']) && isset($request_data['count'])) {
$data['name'] = $request_data['name'];
$data['count'] = (int)$request_data['count'];
self::$test_class[$class_id] = $data;
return self::$test_class;
}else{
return false;
}
}
// PATCH /class/ID 更新某个指定班级的信息 (部分信息)
private static function pacthData($request_data)
{
$class_id = (int)$request_data['class'];
if ($class_id == 0) {
return false;
}
if (!empty($request_data['name'])) {
self::$test_class[$class_id]['name'] = $request_data['name'];
}
if (isset($request_data['count'])) {
self::$test_class[$class_id]['count'] = $request_data['count'];
}
return self::$test_class;
}
// DELETE /class/ID 删除某个班
private static function deleteData($request_data)
{
$class_id = (int)$request_data['class'];
if ($class_id == 0) {
return false;
}
unset(self::$test_class[$class_id]);
return self::$test_class;
}
}再定义一个数据输出类,将数据输出的格式进行统一的封装;最后将方法返回的数据进行输出即可。
<?php
/**
* 包含一个Response类,即输出类。根据接收到的Content-Type,将Request类返回的数组拼接成对应的格式,加上header后输出
*/
class Response
{
const HTTP_VERSION = "HTTP/1.1";

public function sendResponse($data)
{
// 获取数据
if ($data) {
$code = 200;
$message = "OK";
}else{
$code = 404;
$data = array('error' => "Not Found");
$message = "Not Found";
}

header(self::HTTP_VERSION . " $code $message");
$content_type = isset($_SERVER['CONTENT_TYPE']) ? $_SERVER['CONTENT_TYPE'] : $_SERVER['HTTP_ACCEPT'];
if (strpos($content_type, 'application/json') !== false) {
header("Content-Type: application/json");
echo self::encodeJson($data);
}elseif (strpos($content_type, 'application/xml') !== false) {
header("Content-Type: application/xml");
echo self::encodeXml($data);
}else{
header("Content-Type: text/html");
echo self::encodeHtml($data);
}
}

// json 格式
private static function encodeJson($responseData)
{
return json_encode($responseData);
}

// xml 格式
private static function encodeXml($responseData)
{
$xml = new SimpleXMLElement('<?xml version="1.0"?><rest></rest>');
foreach ($responseData as $key => $value) {
if (is_array($value)) {
foreach ($value as $k => $v) {
$xml->addChild($k,$v);
}
}else{
$xml->addChild($key,$value);
}
}
return $xml->asXML();
}

// html 格式
private static function encodeHtml($responseData)
{
$html = "<table border='1'>";
foreach ($responseData as $key => $value) {
$html .= "<tr>";
if (is_array($value)) {
foreach ($value as $k => $v) {
$html .= "<td>$k</td><td>$v</td>";
}
}else{
$html .= "<td>$key</td><td>$value</td>";
}
$html .= "</tr>";
}
$html .="</table>";
return $html;
}
}
?>推荐教程:《PHP教程》

基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?

github的restful API后台是用什么框架实现的

您好,这样的:Yii框架Yii是一个基于组件、用于开发大型Web应用的高性能PHP框架。Yii几乎拥有了所有的特性,包括MVC、DAO/ActiveRecord、I18N/L10N、caching、基于JQuery的AJAX支持、用户认证和基于角色的访问控制、脚手架、输入验证、部件。aravel用的人好多啊!因为laravel不需要费脑子,源代码一看就懂,自信心爆棚,觉得老子好聪明啊,全球最多人使用的框架,数百位工程师的结晶的源代码一看就懂(同时用几款框架的不在此列)再来看看laravel首页说的那些傻叉言论。什么Restfull,什么企业级,什么稳定,什么开源的。他妈的要是一个PHP框架连这些最基本的要求都达不到,还用PHP框架干什么?laravel把这些拿出来,就是骗一些脑残的程序员,殊不知这些要求都是好的PHP框架最基本的。

以上就是关于基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?的全部内容了,如果需要了解更多相关资讯敬请关注我爱编程网。
与“基于restful的php框架 新人刚接触PHP,哪种框架比较容易上手?”相关推荐
slim框架php7 新人刚接触 PHP,哪种框架比较容易上手
slim框架php7 新人刚接触 PHP,哪种框架比较容易上手

php开源框架有哪些善用开源软件能够有效降低软件开发成本,提高工作效率。好的程序员一定要了解你所从事的领域中有哪些开源软件可以为你所用。PHP开发领域中最流行的十个开源框架,开发者可根据自己的需要自行选择。symfony简单的模板功能symfony是一个开源的PHPWeb框架。(推荐学习:PHP编程从入门到精通)基于最佳Web开发实践,已经有多个网站完全采用此框架开发,sym

2023-09-22 02:14:29
php参考框架 新人刚接触PHP,哪种框架比较容易上手?
php参考框架 新人刚接触PHP,哪种框架比较容易上手?

对于php初学者学习哪个框架比较好???应该要学以下几个方面1、具备html基础,这个是肯定得要的了,要是这方面没基础的,应该先自行学习下。2、学习php+mysql这个是核心了,推荐下比较出名的2个教程:lamp兄弟连教程,或者是php100的视频教程。关于兄弟连的教程:主要是一些基础的东西的学习,讲得非常细,非常适合初学者。里面详细介绍了php和mysql的各个知识点,以及正

2023-08-31 02:39:17
php框架难么 新人刚接触PHP,哪种框架比较容易上手?
php框架难么 新人刚接触PHP,哪种框架比较容易上手?

新人刚接触PHP,哪种框架比较容易上手?如果是刚接触PHP的话,建议你不要那么快去上手框架,框架的话,可能有一个很大的原因是大家正在使用中,可以很快的开发到一个应用程序,但是作为新手(如果没有其他语言编程经验),最好是先打好基础,不推荐直接使用框架,这样的话可以得到更多的东西。尽管要先打好基础,这是王道,但还是可以为之推荐几个比较好用的框架。比如说,Zend。所谓的官方的PHP

2023-09-13 22:14:30
手写php框架图片 新人刚接触 PHP,哪种框架比较容易上手
手写php框架图片 新人刚接触 PHP,哪种框架比较容易上手

php是什么是什么【PHP的简介:】PHP是一种【后端编程语言】,其主要用于后台数据处理~其英文名称就是(HypertextPreprocessor)。【好处】语法吸收了C语言、Java和Perl的特点,【利于学习,使用广泛,主要适用于Web开发领域】。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页

2023-09-13 07:29:11
php开发api框架slim 新人刚接触 PHP,哪种框架比较容易上手
php开发api框架slim 新人刚接触 PHP,哪种框架比较容易上手

新人刚接触PHP,哪种框架比较容易上手如果是刚接触PHP的话,建议你不要那么快去上手框架,框架的话,可能有一个很大的原因是大家正在使用中,可以很快的开发到一个应用程序,但是作为新手(如果没有其他语言编程经验),最好是先打好基础,不推荐直接使用框架,这样的话可以得到更多的东西。尽管要先打好基础,这是王道,但还是可以为之推荐几个比较好用的框架。比如说,Zend。所谓的官方的PHP框

2023-09-19 07:24:12
php框架哪个简单点 新人刚接触 PHP,哪种框架比较容易上手
php框架哪个简单点 新人刚接触 PHP,哪种框架比较容易上手

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-21 14:26:21
轻量级php框架slim使用 新人刚接触 PHP,哪种框架比较容易上手
轻量级php框架slim使用 新人刚接触 PHP,哪种框架比较容易上手

新人刚接触PHP,哪种框架比较容易上手如果是刚接触PHP的话,建议你不要那么快去上手框架,框架的话,可能有一个很大的原因是大家正在使用中,可以很快的开发到一个应用程序,但是作为新手(如果没有其他语言编程经验),最好是先打好基础,不推荐直接使用框架,这样的话可以得到更多的东西。尽管要先打好基础,这是王道,但还是可以为之推荐几个比较好用的框架。比如说,Zend。所谓的官方的PHP框

2023-09-26 05:33:52
php最简单的框架是什么 新人刚接触 PHP,哪种框架比较容易上手
php最简单的框架是什么 新人刚接触 PHP,哪种框架比较容易上手

php有哪些框架?PHP常用框架有:1.thinkphp:国人开发,文档比较全,中文文档。入门比较简单。写法快。2.laravel:国外人写的,入门门槛高。英语文档,社区比较活跃。3.symfony:国外人写的。门槛比较高,英语文档。4.yii:国内人写的,门槛较低。想学习这些框架,可以去黑马程序员看视频,有thinkphp、laravel的框架学习视频。ph

2023-10-03 01:54:42