Php 从外部文件调用刀片中的变量
我正在用另一个文件中的查询填充的html表填充我的html页面 除了一个由执行这些查询的主函数创建的变量外,所有这些都显示得很好,我只是尝试从blade调用它 我现在拥有的一切都可以返回查询结果并包装它们,以便将它们放入html视图中。除此列位于源文件中的另一个函数中外,它将全部显示 基本上,我只需要将numbersfile.php中的$percent变量调用到html视图中的一列中 NumbersFile.phpPhp 从外部文件调用刀片中的变量,php,laravel,Php,Laravel,我正在用另一个文件中的查询填充的html表填充我的html页面 除了一个由执行这些查询的主函数创建的变量外,所有这些都显示得很好,我只是尝试从blade调用它 我现在拥有的一切都可以返回查询结果并包装它们,以便将它们放入html视图中。除此列位于源文件中的另一个函数中外,它将全部显示 基本上,我只需要将numbersfile.php中的$percent变量调用到html视图中的一列中 NumbersFile.php function totals(){ $total = $row['t
function totals(){
$total = $row['total'];
$sales = $row['sales'];
$percent = round( ($total / $sales) * 100, 2 );
//all of this data is correct
}
report.php
function percentReport($p){
$data = [];
$totals = new NumbersFile();
$totals->doQuery($p[0]);
$totals->fetchData();
while ($row = $totals->fetchRow()) {
$summary[] = $row;
}
$data = $summary;
$wrap['data'] = $data;
return $wrap; // this returns everything I need from the original query
}
numbers.blade.php
@foreach($data['data'] as $td)
<tr>
<td>{{$td['total1']}}</td>
<td>{{$td['total2']}}</td>
<td>{{$td['total3']}}</td>
<td>{{$td['total4']}}</td> <!--These rows show perfectly fine-->
<td>{{$percent}}</td><!--This is what I need to fill with that variable-->
</tr>
@endforeach
@foreach($data['data']作为$td)
{{$td['total1']}
{{$td['total2']}
{{$td['total3']}
{{$td['total4']}
{{$percent}
@endforeach
为什么不在刀片内部使用@include
@include('{your path}/{your file name without .php extension}')
并确保可以在totals()
函数之外访问$percent
(注意封装) 您可以创建一个“helper”文件,我通常有app/Http/helpers.php,您需要将其添加到composer.json上
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
},
"files":["app/Http/helpers.php"]
},
运行编写器更新
您需要在helpers.php中移动该函数,或者在composer中添加每个文件,totals函数也必须返回$percent,我认为您需要将变量发送到该函数
然后在你看来
{{ totals() }}
为什么有“report.php”文件?我认为最好在控制器上执行此操作,然后将其发送到视图。向我们展示如何包含/要求文件以及如何设置$data。这不是node.js,也不是它的工作方式。您需要将该文件与Composer一起使用。在函数的变量超出其作用域之前,您可以检查变量的作用域。