今天我爱编程网小编整理了php的后台接口分离框架 PHP后端接口怎么写相关内容,希望能帮助到大家,一起来看下吧。
PHP后端接口怎么写
php后台接口的实现方法
1. 首先,要设置一个入口文件
入口文件的话会引入到固定的api文件(如下):
<?php
define("APPAPI_ALLOW_REQUEST_LOGIN", 'Y');
//是否允许传用户名密码参数的形式登录。如为Y则参数用户名密码参数和basic方式都可以,如为N就只能basic方式。
//define("SITE_TEMPLATE_PATH", '/local/templates/mobile_app_api');
//如不定义,默认是local/templates/bitrix24。可以考虑将/local/templates/mobile_app留给h5前端展示用。
新开/local/templates/mobile_app_api给api用。如不指定SITE_TEMPLATE_PATH直接IncludeComponent,则对组件代码进行debug时,
会出现web端头部页面。
//require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php'); //需要模板页面
Header('Access-Control-Allow-Origin: *');
Header('Access-Control-Allow-Headers: origin, content-type, accept');
Header('X-Content-Type-Options: nosniff');
require("remote_auth.php");
//app方式每次请求session_id()都会变,导致挂钩在session_id()下面的所有session信息如fix_session_id也都不认。
所以登录完毕后要拿到session_id(),并在后续接口一起传给接口,接口再去指定session_id。
//$_REQUEST['org_sessid']='06q75330o31se1cf4d7vl1bdm4';
if(!empty($_REQUEST['org_sessid'])){
$org_session_id=$_REQUEST['org_sessid'];
session_id($org_session_id);
session_start();
//echo session_id();
//echo "<pre>";print_r($_SESSION);exit;
}
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"); //无需模板页面
$APPLICATION->IncludeComponent("vdg:mobile.data", "", Array());
exit;
?>2. 其次,在引入的组件的component.php中获取参数,确定模板的使用
<?php
...
include_once(dirname(__FILE__) . "/functions.php");//引入类的方法的文件
...
if ($_REQUEST["mobile_action"])//Executing some action
{
$APPLICATION->RestartBuffer();
$action = $_REQUEST["mobile_action"];
//CRestUtil::sendHeaders(); //跨域header
$actionList = new Bitrix\Mobile\Action();
$actionList->executeAction($action, $arParams);
CMain::FinalActions();
die();
}
elseif ($_REQUEST["captcha_sid"])//getting captcha image 通过 /vdg/app_api.php?captcha_sid=1 可以得到图形验证码。
{
$APPLICATION->RestartBuffer();
$actionList = new Bitrix\Mobile\Action();
$actionList->executeAction("get_captcha", $arParams);
die();
}
elseif ($_REQUEST["manifest_id"])//getting content of appcache manifest
{
include($_SERVER["DOCUMENT_ROOT"] .\Bitrix\Main\Data\AppCacheManifest::MANIFEST_CHECK_FILE);
die();
}
elseif(!$USER->IsAuthorized() || !$isSessidValid)
{
$APPLICATION->RestartBuffer();
header("HTTP/1.0 401 Not Authorized");
if(Bitrix\MobileApp\Mobile::getInstance()->getInstance() != "android")
{
//header("Content-Type: application/x-javascript");
header("Content-Type: application/json");
header("BX-Authorize: ".bitrix_sessid());
}
jsonError('201', '请先登陆');
//echo json_encode(Array("status" => "failed", "bitrix_sessid"=>bitrix_sessid()));
die();
}
?>3.在具体的模板中运用类的方法根据参数获取相应的数据,并返回客户端结果
如果成果返回“ jsonSuccess(questions);”如果失败返回“jsonError(′201′,questions);”
如果失败返回“jsonError(′201′,questRes[“ERROR”]);”或其他错误讯息。
推荐教程:PHP视频教程
我爱编程网
php开发需要掌握什么
php开发需要掌握:
API设计与开发,这是互联网开发的趋势,前端后台模板分离,小程序开发,app接口都是涉及api接口。 (推荐学习:PHP视频教程)
linux开发,很多PHP程序员喜欢window开发习惯,很难适应命令行的linux,但是事实证明很多项目都是使用linux系统开发,比如物联网开发,通信接口开发等,很多扩展类只能在linux系统上才能正常跑起来。
前端技术,很多觉得PHP程序员是后台程序员,但是如今很多企业招聘PHP程序员必须熟练属于前端技术。
PHP常用框架,新手PHP程序员可能对thinkphp比较熟悉,但是仅仅这一个框架满足不仅作为高级程序员的开发,还需掌握Phalcon,yii,Laravel等。
代码管理工具,作为高级程序员,如果仅会编程代码,而忽视了代码管理,你不可能成为一名优秀的程序员,常用代码工具:git,SVN,github等。
熟练使用MySQL数据库,懂得优化数据库。
PHP是一门支持面向对象程序设计编程,熟练掌握面向对象知识,同时深入了解MVC的开发思想。
熟练使用与优化Redis技术。
对高并发,高负载的架构有一定了解,具有分布式架构的代码开发能力。虽然PHP在高并发不如其他编程语言,但是在WEB开发PHP是首选语言,所以需要了解还有研究PHP高并发技术。
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的需求。
以上就是php的后台接口分离框架 PHP后端接口怎么写全部内容,更多相关信息,敬请关注我爱编程网。