在看 http://www.imooc.com/learn/163
用php开发app的接口
基本就是我现在在做的东西
一句话,就是给app返回json
具体点
就是组合header后,把content的array用json_encode转换下输出
```php
// 设定header
$oResponse = Yii::$app->response;
$oResponse->format = Response::FORMAT_RAW;
$oResponse->getHeaders()->removeAll();
foreach ($aHeader as $sKey => $sVal) {
$oResponse->getHeaders()->set($sKey, $sVal);
}
// json送信
$oResponse->content = $sJson;
```
关于 Yii::$app->response的 具体说明
[yii2 权威指南 响应](http://www.yiichina.com/doc/guide/2.0/runtime-responses)
打开下response.php,如果不是下载文件的话,也是用echo来把结果来进行输出而已
```php
protected function sendContent()
{
if ($this->stream === null) {
echo $this->content;
return;
}
```
有几句话要注意
> 在yii\web\Response::send() 方法调用前响应中的内容不会发送给用户, 该方法默认在yii\base\Application::run() 结尾自动调用,尽管如此,可以明确调用该方法强制立即发送响应。
> 一旦yii\web\Response::send() 方法被执行后,其他地方调用该方法会被忽略, 这意味着一旦响应发出后,就不能再追加其他内容。
所以,什么也不用做,设置完了response,等action默默执行就好,不要自己去send
相关推荐
Yii2是一款基于组件的高性能PHP框架,专门用于开发Web2.0应用。在Yii2中,我们可以利用RESTful API来构建高效、灵活的Web服务。RESTful API是一种设计模式,它通过HTTP协议来操作资源,提供了创建、读取、更新和删除...
在开发过程中,Yii 2 提供了 Gii 工具,这是一个自动生成代码的工具,可以帮助快速创建模型、控制器、视图等基础结构。此外,Yii 还支持 RESTful API 开发,使得构建 Web 服务更加便捷。 总的来说,"yii-advanced-...
在帝国CMS App接口中,AJAX用于客户端异步请求数据,提高用户体验。通常使用XMLHttpRequest对象或现代浏览器支持的fetch API实现。 4. **JSON(JavaScript Object Notation)**:JSON是一种轻量级的数据交换格式,...
在本案例中,我们讨论的是Yii2框架的高级应用模板(Advanced App Template)的一个版本——v2.0.35,这个版本的归档文件为“yii-advanced-app-2.0.35.tgz”。 Yii2 高级应用模板是一个预配置的项目结构,旨在满足...
在实际开发中,当API接口抛出异常时,Yii2的错误处理器将捕获异常,并通过ErrorApiAction进行处理,最终返回JSON格式的错误信息。这样的处理方式,使得API在面对各种异常情况时,都能给出统一且友好的响应,极大地...
Yii2 是一个高性能的、基于组件的 PHP 框架,用于快速开发现代Web应用。"yii-basic-app-2.0.12"是Yii2框架的一个基础应用程序模板,适用于初学者和小型项目。这个模板提供了构建Web应用的基本结构和配置,让开发者...
1. **日志管理**:在Yii2中,日志是通过`Yii::$app->log`组件进行管理的。开发者可能已经设置好了不同的日志目标,如文件、数据库、邮件等,以便记录不同级别的信息(如错误、警告、调试等),这对于调试和问题追踪...
这个名为 "yii-advanced-app-2.0.11.tgz" 的压缩包包含了所有必要的文件和配置,使得开发者可以快速地搭建起基于Yii 2的多层架构项目。 Yii 2.0框架是Yii框架的最新迭代,它在性能、安全性和可扩展性方面都有显著...
总之,Yii 2.0.2 Advanced App是一个强大且全面的开发框架,适合构建大型、复杂的企业级应用。通过深入学习和熟练掌握其特性和使用方法,开发者可以大大提高开发效率,同时也能享受到优雅的代码结构带来的乐趣。
8. **命令行接口(CLI)**:Yii 2也支持命令行工具,如在"console"目录下的"config/main.php"配置文件和"controllers"中的命令类,可以用来执行后台任务、迁移数据库等。 9. **数据库迁移**:"console/migrations...
在YII2的`config/main.php`或`config/web.php`文件中,添加支付宝的配置信息。这些包括你的应用ID、商户私钥、支付宝公钥、签名类型等。示例如下: ```php 'components' => [ ... 'alipay' => [ 'class' => '...
Yii 的命名约定清晰,类前缀为 "C"(接口为 "I"),以减少类名冲突。此外,Yii 充分利用 PHP 的命名空间和自动加载机制,提高代码组织的灵活性。 CComponent 是 Yii 中所有类的基类,提供事件和行为机制,使得扩展...
在"yii2-app-advanced-master"这个压缩包中,包含了一个高级模板应用,它是Yii 2的典型项目结构,适合大型、复杂的应用程序。这个模板分为两个部分:前端(frontend)和后端(backend),分别处理用户界面和管理员...
2. **安装PHP Sphinx客户端库**:Yii2需要一个PHP接口来与Sphinx通信。你可以通过Composer(PHP的依赖管理工具)安装`yii2-sphinx`扩展,命令如下: ``` composer require yiisoft/yii2-sphinx ``` 3. **配置Yii...
在Laravel开发中,首先需要在`config/app.php`中添加新的服务提供者,然后在`composer.json`文件中注册依赖,通过`composer require`命令安装yii2-sms-api库。接着,开发者可能会创建一个名为`SmsService`的服务类,...
通过深入学习和使用 "yii-advanced-app-2.0.16",开发者可以掌握 Yii 2 框架的高级特性,提高开发效率,同时构建出稳定、安全、高性能的 Web 应用。这个模板尤其适合那些需要搭建复杂多层架构项目的开发者,以及对 ...
Yii-wechat 是基于 Yii2 实现的微信模块, 集成微信模拟器、多公众号管理、扩展开发接口,只需关注功能,微信开发的强劲引擎.注意如果是全新使用Yii2和Yii2-wechat,你可以使用 Yii2-app-wechat 微信应用模板(可在该模板...
这个类实现了 `\yii\caching\Cache` 接口,提供了标准的缓存操作,如设置、获取、删除数据,以及检查缓存是否存在等。集成 Redis 需要在配置文件中设置相关参数,如服务器地址、端口、密码和数据库索引等。 **配置 ...
composer create-project --prefer-dist yiisoft/yii2-app-basic recipe-website ``` 2. 进入项目目录并启动开发服务器: ``` cd recipe-website php yii serve ``` 然后在浏览器中访问`...