我正在通过循环作为字符串创建动态查询,并希望运行该查询并将结果保存在变量中,然后将该结果作为json返回以实现ajax的目的。 但是问题出在这里,如果我回显停止进一步执行的查询,而只返回查询本身。
import React, { Component } from 'react';
import { Text, View, StyleSheet } from 'react-native';
export default class HelloWorldApp extends Component {
render() {
return (
<View style={styles.videoContainer}>
<Video
source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }}
ref={(ref) => {
this._player = ref
}}
style={styles.video} />
</View>
);
}
}
const styles = StyleSheet.create({
videoContainer: {
flex: 1,
},
video: {
position: 'absolute',
top: 0,
right: 0,
left: 0,
}
})
export default styles;
答案 0 :(得分:1)
我认为您可能实际上需要这一行而不是编写的所有代码:
return Share::all()->toArray();
将一部分php代码(例如'Share::all();'
打印为字符串)不会执行该代码。当然,它不会给您执行该代码的结果。
还是您想使用危险的eval来解析代码的输出?在这种情况下:
$data = 'echo "hello world";';
$returnData = (function ($code) {
ob_start();
eval($code); // stop executing here
return ob_get_clean();
})($data);
var_dump($returnData);
请注意,返回数据只能是字符串。它只能是纯字符串。因此,如果您想通过输出缓冲区传递“查询结果”,那对我来说真的没有任何意义。
eval
您可能实际上是在考虑这个问题。
$data = 'return Share::all()->toArray();';
$returnData = eval($data);
var_dump($returnData);
但是您将获得具有现代命名空间的PHP代码的使用效果。确实不建议运行eval
。