本文整理汇总了PHP中Illuminate\View\Factory类的典型用法代码示例。如果您正苦于以下问题:PHP Factory类的具体用法?PHP Factory怎么用?PHP Factory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Factory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct()
{
$this->instance('container', $this);
$this->singleton('events', function () {
return new Dispatcher();
});
$this->singleton('files', function () {
return new Filesystem();
});
$this->singleton('blade.compiler', function () {
return new BladeCompiler($this['files'], $this['view.compiled']);
});
$this->singleton('view.engine.resolver', function () {
$resolver = new EngineResolver();
$resolver->register('blade', function () {
return new CompilerEngine($this['blade.compiler'], $this['files']);
});
$resolver->register('php', function () {
return new PhpEngine();
});
return $resolver;
});
$this->singleton('view.finder', function () {
return new FileViewFinder($this['files'], $this['view.paths']);
});
$this->singleton('view', function () {
$env = new Factory($this['view.engine.resolver'], $this['view.finder'], $this['events']);
$env->setContainer($this['container']);
return $env;
});
}
示例2: register
public function register(Container $pimple)
{
$pimple['files'] = function () {
return new Filesystem();
};
$pimple['view.engine.resolver'] = function () use($pimple) {
$resolver = new EngineResolver();
foreach (['php', 'blade'] as $engine) {
$this->{'register' . ucfirst($engine) . 'Engine'}($resolver, $pimple);
}
return $resolver;
};
$pimple['view.finder'] = function () use($pimple) {
$paths = $pimple['config']['view.paths'];
return new FileViewFinder($pimple['files'], $paths);
};
$pimple['view'] = function () use($pimple) {
// Next we need to grab the engine resolver instance that will be used by the
// environment. The resolver will be used by an environment to get each of
// the various engine implementations such as plain PHP or Blade engine.
$resolver = $pimple['view.engine.resolver'];
$finder = $pimple['view.finder'];
$env = new Factory($resolver, $finder, $pimple['events']);
// We will also set the container instance on this view environment since the
// view composers may be classes registered in the container, which allows
// for great testable, flexible composers for the application developer.
$env->setContainer($pimple['container']);
$env->share('app', $pimple);
return $env;
};
}
示例3: init
/**
* Init controller.
* @param Backend $backend
* @param ViewFactory $view
*/
public function init(Backend $backend, ViewFactory $view)
{
$backend->setActiveMenu('system.groups');
$view->composer($this->viewName('groups.form'), function (View $view) use($backend) {
$view->with('rules', $backend->getAclGroups());
});
}
示例4: boot
/**
* Bootstrap the application services
*
* @param ViewFactory $viewFactory
*/
public function boot(ViewFactory $viewFactory)
{
if (is_dir(base_path() . '/resources/views/viktorv/lpanel')) {
$this->loadViewsFrom(base_path() . '/resources/views/viktorv/lpanel', 'lpanel');
} else {
$path = realpath(__DIR__ . '/../resources/views');
/** @var \League\Plates\Engine $platesEngine */
$platesEngine = $this->app->make('League\\Plates\\Engine');
$platesEngine->setDirectory($path);
$platesEngine->addFolder('layout', $path . '/admin/layout');
$platesEngine->addFolder('noscript', $path . '/noscript');
$this->loadViewsFrom($path, 'lpanel');
}
/** @var \Illuminate\Validation\Factory $validator */
$validator = $this->app->validator;
$validator->resolver(function ($translator, $data, $rules, $messages) {
return new Validator($translator, $data, $rules, $messages);
});
$viewFactory->share('block', new BaseBlock($this->app));
if (is_dir(base_path() . '/resources/lang/viktorv/lpanel')) {
$this->loadTranslationsFrom(base_path() . '/resources/lang/viktorv/lpanel', 'lpanel');
} else {
$this->loadTranslationsFrom(__DIR__ . '/../resources/lang', 'lpanel');
}
}
示例5: init
/**
* Controller init.
* @param Backend $backend
* @param ViewFactory $view
*/
public function init(Backend $backend, ViewFactory $view)
{
$backend->setActiveMenu('system.users');
$view->composer($this->viewName('users.form'), function (View $view) {
$view->with('groups', GroupModel::query()->get());
});
}
示例6: __construct
public function __construct(Request $request, Factory $factory)
{
$this->request = $request;
$this->view_path = realpath(base_path('resources/views'));
$this->factory = $factory;
$this->finder = $factory->getFinder();
$this->finder->addExtension('schema.php');
}
示例7: template
/**
* Return an angular template partial.
*
* @param \App\Http\Requests\Api\Angular\TemplateRequest $request
* @return \Illuminate\View\View
*/
public function template(TemplateRequest $request)
{
$template = $request->get('template');
if ($this->viewFactory->exists($template)) {
return $this->viewFactory->make($template);
}
return $this->response()->errorNotFound();
}
示例8: composeMessage
/**
* Composes a message.
*
* @return \Illuminate\View\Factory
*/
public function composeMessage()
{
// Attempts to make a view.
// If a view can not be created; it is assumed that simple message is passed through.
try {
return $this->views->make($this->view, $this->data)->render();
} catch (\InvalidArgumentException $e) {
return $this->view;
}
}
示例9: handle
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->app->setLocale($this->settings->get('user.language', 'en'));
$langDir = ['left' => 'left', 'right' => 'right'];
if (trans('general.direction') == 'rtl') {
$langDir['left'] = 'right';
$langDir['right'] = 'left';
}
$this->viewFactory->share('langDir', $langDir);
return $next($request);
}
示例10: make
/**
* Make the view content.
*
* @param PageInterface $page
*/
public function make(PageInterface $page)
{
$type = $page->getType();
/* @var EditorFieldType $layout */
$layout = $type->getFieldType('layout');
$page->setContent($this->view->make($layout->getViewPath(), compact('page'))->render());
}
示例11: getReset
public function getReset($token = null)
{
if (is_null($token)) {
$this->application->abort(404);
}
return $this->view->make('UserManagement::password.reset')->with('token', $token);
}
示例12: anyUpload
public function anyUpload(InterfaceFileStorage $userFileStorage, AmqpWrapper $amqpWrapper, Server $server, UploadEntity $uploadEntity)
{
/* @var \App\Components\UserFileStorage $userFileStorage */
$responseVariables = ['uploadStatus' => false, 'storageErrors' => [], 'uploadEntities' => []];
if ($this->request->isMethod('post') && $this->request->hasFile('file') && $this->request->file('file')->isValid()) {
$tmpDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'tmp-user-files-to-storage' . DIRECTORY_SEPARATOR;
$tmpFilePath = $tmpDir . $this->request->file('file')->getClientOriginalName();
$this->request->file('file')->move($tmpDir, $this->request->file('file')->getClientOriginalName());
$userFileStorage->setValidationRules($this->config->get('storage.userfile.validation'));
$newStorageFile = $userFileStorage->addFile($tmpFilePath);
if ($newStorageFile && !$userFileStorage->hasErrors()) {
/* @var \SplFileInfo $newStorageFile */
// AMQP send $newfile, to servers
foreach ($server->all() as $server) {
if (count($server->configs) > 0) {
foreach ($server->configs as $config) {
// Send server and file info to upload queue task
$amqpWrapper->sendMessage($this->config->get('amqp.queues.uploader.upload'), json_encode(['file' => $newStorageFile->getRealPath(), 'url' => $server->scheme . '://' . $config->auth . '@' . $server->host . '/' . trim($config->path, '\\/')]));
}
} else {
// The server has no configuration
$amqpWrapper->sendMessage($this->config->get('amqp.queues.uploader.upload'), json_encode(['file' => $newStorageFile->getRealPath(), 'url' => $server->scheme . '://' . $server->host]));
}
}
$responseVariables['uploadStatus'] = true;
} else {
$responseVariables['storageErrors'] = $userFileStorage->getErrors();
}
if ($this->request->ajax()) {
return $this->response->json($responseVariables);
}
}
$responseVariables['uploadEntities'] = $uploadEntity->limit(self::UPLOAD_ENTITIES_LIMIT)->orderBy('created_at', 'DESC')->get();
return $this->view->make('upload.index', $responseVariables);
}
示例13: getLogin
/**
* Displays the login form.
*/
public function getLogin()
{
$viewConfig = $this->config->get('l4-lock::config.lock.views');
if ($this->view->exists($viewConfig['foot-note'])) {
$viewConfig['foot-note'] = $this->view->make($viewConfig['foot-note'])->render();
}
return $this->view->make($this->config->get('l4-lock::config.lock.views.login'), array('view' => $viewConfig))->render();
}
示例14: parse
/**
* Parse some content.
*
* @param $content
* @return string
*/
public function parse($content)
{
if (!$this->files->isDirectory($path = storage_path('framework/views/asset'))) {
$this->files->makeDirectory($path);
}
$this->files->put(storage_path('framework/views/asset/' . (($filename = md5($content)) . '.twig')), $content);
return $this->views->make('root::storage/framework/views/asset/' . $filename)->render();
}
示例15: handle
/**
* Handle incoming requests.
* @param Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle($request, Closure $next)
{
if ($this->maintenance->isDownMode()) {
if ($this->view->exists('errors.503')) {
return new Response($this->view->make('errors.503'), 503);
}
return $this->app->abort(503, 'The application is down for maintenance.');
}
return $next($request);
}