Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从外部文件调用刀片中的变量_Php_Laravel - Fatal编程技术网

Php 从外部文件调用刀片中的变量

Php 从外部文件调用刀片中的变量,php,laravel,Php,Laravel,我正在用另一个文件中的查询填充的html表填充我的html页面 除了一个由执行这些查询的主函数创建的变量外,所有这些都显示得很好,我只是尝试从blade调用它 我现在拥有的一切都可以返回查询结果并包装它们,以便将它们放入html视图中。除此列位于源文件中的另一个函数中外,它将全部显示 基本上,我只需要将numbersfile.php中的$percent变量调用到html视图中的一列中 NumbersFile.php function totals(){ $total = $row['t

我正在用另一个文件中的查询填充的html表填充我的html页面

除了一个由执行这些查询的主函数创建的变量外,所有这些都显示得很好,我只是尝试从blade调用它

我现在拥有的一切都可以返回查询结果并包装它们,以便将它们放入html视图中。除此列位于源文件中的另一个函数中外,它将全部显示

基本上,我只需要将numbersfile.php中的$percent变量调用到html视图中的一列中

NumbersFile.php

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一起使用。在函数的变量超出其作用域之前,您可以检查变量的作用域。