Я пытался объявить статическую переменную, но всегда имеет значение null, я пробую несколько комбинаций и способов без удачи. Я пытаюсь сохранить переменную с некоторыми данными, но я действительно не хочу повторной обработки, если она уже была обработана один раз.
class PackingController extends Controller
{
protected static $i;
function Process(Request $request)
{
$r = new packing();
$v = $r->customer('data','data');
$items = $this->startProcess($v,false);
return \View::make('list/print',compact('items'));
}
private function startProcess($dbitems, $ajust=false)
{
//Some logic
self::$i = $items;
return $items;
}
function printPdf()
{
$items = self::$i;
//shows null:
dd($items);
}
}
Что не так?
Обновление: я пробую синглтон без удачи.
namespace App\Helper;
class Items
{
private static $_items;
private static $inst;
public function setItems($value)
{
self::$_items = $value;
}
public function getItems()
{
return self::$_items;
}
public static function Instance()
{
if (self::$inst == null) {
self::$inst = new Items();
}
return self::$inst;
}
private function __clone()
{
}
private function __construct()
{
}
}
С синглтоном, все еще null, также попробуйте с одним значением, вместо переменной, без удачи
class PackingController extends Controller
{
protected static $i;
function GetPackings()
{
$s = sales::with('Customer')->where('salestype','=','3')->take(1000)->orderBy('receiptdaterequested','desc')->pluck('salesid','salesid');
$p = pack::distinct('APPACKINGGROUPID')->pluck('APPACKINGGROUPID','APPACKINGGROUPID')->all();
return \View::make('listas/index',compact('p','s'));
}
function Process(Request $request)
{
$r = new packing();
$v = $r->customer('Mexico','PVE0111998');
$items = $this->startProcess($v,false);
return \View::make('listas/print',compact('items'));
}
private function startProcess($dbitems, $ajust=false)
{
$bultos = 1;
$items = array();
foreach ($dbitems as $dbitem)
{
//Some process
$items[]=$item;
}
$s = Items::Instance();
if (count($items) > 0 ) {
$s->setItems($items);
}
return $items;
}
function printPdf()
{
$s = Items::Instance();
$s->getItems();
dd($s->getItems());
}
}