Example #1
0
 public function testPageTitle()
 {
     $stub = $this->getMockForAbstractClass(View::class);
     $reflectedView = new \ReflectionClass($stub);
     $getPageTitleMethod = $reflectedView->getMethod("getPageTitle");
     $getPageTitleMethod->setAccessible(true);
     View::setPageTitleSeparator("|");
     /**
      * @var View $stub
      */
     // Empty title
     View::setPageTitlePrefix("");
     View::setPageTitleSuffix("");
     $stub->setPageTitle("");
     $this->assertEquals("", $getPageTitleMethod->invoke($stub));
     // Only prefix
     View::setPageTitlePrefix("1");
     View::setPageTitleSuffix("");
     $stub->setPageTitle("");
     $this->assertEquals("1", $getPageTitleMethod->invoke($stub));
     // Only suffix
     View::setPageTitlePrefix("");
     View::setPageTitleSuffix("2");
     $stub->setPageTitle("");
     $this->assertEquals("2", $getPageTitleMethod->invoke($stub));
     // Title with suffix
     View::setPageTitlePrefix("");
     View::setPageTitleSuffix("2");
     $stub->setPageTitle("some title");
     $this->assertEquals("some title|2", $getPageTitleMethod->invoke($stub));
     // Title with prefix
     View::setPageTitlePrefix("1");
     View::setPageTitleSuffix("");
     $stub->setPageTitle("some title");
     $this->assertEquals("1|some title", $getPageTitleMethod->invoke($stub));
     // Prefix & suffix
     View::setPageTitlePrefix("1");
     View::setPageTitleSuffix("2");
     $stub->setPageTitle("");
     $this->assertEquals("1|2", $getPageTitleMethod->invoke($stub));
     // Title with prefix & suffix
     View::setPageTitlePrefix("1");
     View::setPageTitleSuffix("2");
     $stub->setPageTitle("some title");
     $this->assertEquals("1|some title|2", $getPageTitleMethod->invoke($stub));
 }
Example #2
0
<?php

// Use MeguminFramework namespace to gain direct access to its components
use pfcode\MeguminFramework\Dispatcher;
use pfcode\MeguminFramework\View;
use pfcode\MeguminFramework\Controller;
// Use autoloader generated by composer
require __DIR__ . "/../vendor/autoload.php";
class TestController extends Controller
{
    public function execute()
    {
        $this->view = new \pfcode\MeguminFramework\ScopeDebugView();
        $this->view->setScope($this->args);
        $this->view->display();
    }
}
// Set global View parameters (page title doesn't have to be honored by chosen View)
View::setPageTitlePrefix("Website Title");
View::setPageTitleSeparator(" : ");
// Specify namespace that your controllers belongs to
Dispatcher::setControllersNamespace(__NAMESPACE__);
// Set controllers that should be called when routing fails
Dispatcher::setFallbackControllers(TestController::class, TestController::class);
// Specify routing table for the dispatcher
// (you can omit this call when you don't want to use friendly URLs)
Dispatcher::setUrlPatterns(array("/test/{id}" => TestController::class, "/test" => TestController::class, "/" => TestController::class));
// Perform routing and execute proper controller
Dispatcher::explosion();