定制 italystrap/view 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

italystrap/view

Composer 安装命令:

composer require italystrap/view

包简介

View API for loading template parts and views the OOP way

README 文档

README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License PHP from Packagist

PHP Sanitizer and Validation OOP way

Table Of Contents

Installation

The best way to use this package is through Composer:

composer require italystrap/view

Basic Usage

$finder = new \ItalyStrap\View\ViewFinder();

$finder->in( 'full/path/to/the/views/' );
//or
$finder->in( ['full/path/to/the/views/','full/path/to/the/views/'] );


$view = new \ItalyStrap\View\View( $finder );

$view->render( 'slug', $data ); // Data could be the type of: string|int|array|object
// Or
$view->render( ['slug'], $data );
// Or
$view->render( ['slug', 'name'], $data );
// Or
$view->render( ['slug', 'name', 'subName'], $data );

For WordPress User

By default it will search in child -> parent -> theme-compat directories like the original \get_template_part() does

// It will search in the root of your theme slug-name.php -> slug.php
\ItalyStrap\View\get_template_part( 'slug', 'name', $data );

// Or

use ItalyStrap\View;

// theme_path/slug-name.php
// theme_path/slug.php
get_template_part( 'slug', 'name', $data );

// theme_path/slug-slug1-name.php
// theme_path/slug-name.php
// theme_path/slug.php
get_template_part( ['slug', 'slug1'], 'name', $data );

If you need to add more or different direcories for searchinf files you can filter theme with the 'italystrap_view_get_template_part_directories' hook.

\add_filter( 'italystrap_view_get_template_part_directories', function( array $dirs ) {
    // Add here your logic for dirs
    // For example you can add subdirs or remove dirs
    // You can add directories for languages
    // You can add directories from plugins and so on.
    // The sky is the limit.

    return $dirs;
});

Some example of results:

plugin_path/some_dir_path/slug-name.php plugin_path/some_dir_path/slug.php theme_path/other_dir_path/slug-slug-name.php theme_path/other_dir_path/slug-name.php theme_path/other_dir_path/slug.php

theme_with_locale_path/locale/slug-name.php

And so on.

Inside the file template

Inside the file or template part you require if you added some $data value you can use it like so:

$data = [
    'title' => 'Ciao Mondo',
];

// some-template-part.php
use ItalyStrap\View;
get_template_part( ['some','template'], 'part', $data );
//or
//...
//$view->render( ['some','template','part'], $data );


// inside some-template-part.php
echo $this->title;

//or

echo $this->get( 'title', 'Some default title' );

Advanced Usage

See in Tests Foldes

Contributing

All feedback / bug reports / pull requests are welcome.

License

Copyright (c) 2019 Enea Overclokk, ItalyStrap

This code is licensed under the MIT.

Credits

For the Closure in the View and for some ideas with the Symphony Finder

统计信息

  • 总下载量: 664
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固