コード例 #1
0
 /**
  * Filter the variable by passing it through the registered view engine helpers
  *
  * Inspired by Twig filters and works with helpers or PHP functions which accept
  * single argument.
  *
  * Usage:
  *
  * ```
  * <?= $this->filter( $var, 'strtolower | ucwords | esc_html' ) ?>
  * ```
  *
  * @param mixed $var
  * @param string $filters
  *
  * @return mixed
  */
 public function filter($var, $filters)
 {
     $filters = explode('|', $filters);
     foreach ($filters as $filter) {
         $filter = $this->view_engine->get_helper(trim($filter));
         $var = $filter($var);
     }
     return $var;
 }
コード例 #2
0
use Hromada\Authoring\Foundation\View_Engine;
require_once __DIR__ . '/src/foundation/class-loader.php';
/**
 * Don't creep the global scope
 */
call_user_func(function () {
    /**
     * Initialise core classes
     */
    $plugins_dir = dirname(plugin_dir_path(__FILE__));
    $loader = new Loader();
    $loader->add_wp_mapping('Hromada\\:plugin\\:package', $plugins_dir . '/:plugin/src/:package')->add_wp_mapping('Hromada\\:plugin', $plugins_dir . '/src/:plugin')->register();
    $container = new Container();
    $container->set('loader', $loader);
    $container->set_service('view.engine', function () {
        $view_engine = new View_Engine();
        $view_engine->add_directory(__DIR__ . '/views');
        return $view_engine;
    });
    $container->set_factory('view', function (Container $container) {
        return $container->get('view.engine')->get_view();
    });
    Container::set_instance($container);
    /**
     * Setup authoring pack
     */
    add_filter('init', 'Hromada\\Authoring\\setup_post_types', 10);
    add_filter('init', 'Hromada\\Authoring\\setup_taxonomy', 11);
    add_filter('admin_init', 'Hromada\\Authoring\\setup_meta_boxes');
    add_action('admin_menu', function () {
        remove_menu_page('edit-comments.php');