FastAdmin&Thinkphp的echo和return的区别

本文讨论了在PHP项目中,如何在控制器中使用echo和return来输出XML数据。作者强调了return在返回值并供其他函数调用时的重要性,同时指出在框架中,通常会将显示逻辑封装在display_echo()函数中以确保正确显示。
摘要由CSDN通过智能技术生成

常见问题情形:

项目中碰到的问题,本来是想在控制器直接return $xml进行显示用的($xml是一段xml格式的代码),但是测试却发现什么都没有输出。换成echo $xml;就成功了。

1、从关键词意思上看:

echo 是输出字符串到浏览器

return 主要是用于函数,返回一个值,

**********千万别一概理解为返回给浏览器的页面数据,但有时又是要显示的数据,你细品

2、echo 主要用于:php对浏览器的输出;

return主要用于处理函数的返回值

3、在大多数情况下,echo 和return的结果都是一样的。但如果特殊情况要注意:

伪代码:

    显示内容 = 控制器.方法1()
    显示(显示内容)


如果   控制器.方法1()  不返回字符串内容,那么  显示内容= “”    空空空
    显示(显示内容)======显示(“”)  
    就啥也不显示!

    所以 控制器.方法1()的语句中产生页面内容数据的语句前,一定要加return给调用函数

    明白了吗,同学们

4、比如项目中要在浏览器输出内容,所以用echo比较合适。如果是需要一个可以被其它函数调用的返回值的话,建议还是用return.

 

再举个例子:细品。。。。。。。。

 

 细品,控制器返回的数据又成了输出,echo 当之无愧也是输出............我了个天,晕了

框架中控制器函数返回后,肯定放在         display_echo()  中,否则,怎么会显示, 总之,框架层次多,复杂,我们看不到细节而已.............................................

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于 FastAdmin 或者 ThinkPHP 的 iOS 支付代码,可以按照以下步骤进行: 1. 在苹果开发者中心创建 App ID,并开通 In-App Purchase 功能。 2. 在 Xcode 中创建一个新的 iOS 项目,并在项目设置中配置好 Bundle ID 和开发者账号。 3. 添加 StoreKit.framework 和 StoreKit 库文件到项目中。 4. 在代码中导入 StoreKit 框架,并实现 SKPaymentTransactionObserver 协议和 SKProductsRequestDelegate 协议。 5. 调用 SKProductsRequest 请求商品信息,并在回调中获取到商品信息。 6. 根据商品信息调用 SKPaymentQueue 发起支付请求,并在回调中处理支付结果。 以下是一个简单的示例代码: ```swift import UIKit import StoreKit class ViewController: UIViewController, SKPaymentTransactionObserver, SKProductsRequestDelegate { override func viewDidLoad() { super.viewDidLoad() // 监听支付状态 SKPaymentQueue.default().add(self) } // 请求商品信息 func requestProductsInfo() { let productIdentifiers = Set(["com.example.product1"]) let request = SKProductsRequest(productIdentifiers: productIdentifiers) request.delegate = self request.start() } // 获取商品信息回调 func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) { if response.products.count > 0 { let product = response.products[0] let payment = SKPayment(product: product) SKPaymentQueue.default().add(payment) } } // 支付状态回调 func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { for transaction in transactions { switch transaction.transactionState { case .purchased: // 支付成功 SKPaymentQueue.default().finishTransaction(transaction) break case .failed: // 支付失败 SKPaymentQueue.default().finishTransaction(transaction) break case .restored: // 恢复购买 SKPaymentQueue.default().finishTransaction(transaction) break default: break } } } } ``` 这个示例代码中,通过实现 SKPaymentTransactionObserver 协议和 SKProductsRequestDelegate 协议,请求商品信息并发起支付请求,然后在支付状态回调中处理支付结果。需要注意的是,这个示例代码中的商品 ID 需要根据实际情况进行替换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值