lithium\core\Libraries::unmap PHP Method

unmap() public static method

Unmap fully-namespaced class names mapped using lithium\core\Libraries::map().
See also: lithium\core\Libraries::map()
public static unmap ( mixed $classes )
$classes mixed An array of fully-namespaced class names or a string with a fully-namespaced class name.
    public static function unmap($classes)
    {
        if (!is_array($classes)) {
            $classes = array($classes);
        }
        foreach ($classes as $value) {
            unset(static::$_map[$value]);
        }
    }

Usage Example

Example #1
0
 /**
  * Tests that `Libraries::map()` and `Libraries::unmap()`
  *
  */
 public function testMapUnmap()
 {
     $testApp = Libraries::get(true, 'resources') . '/tmp/tests/test_app';
     mkdir($testApp, 0777, true);
     Libraries::add('test_app', array('path' => $testApp));
     mkdir($testApp . '/lib', 0777);
     mkdir($testApp . '/_patch', 0777);
     file_put_contents($testApp . '/lib/LibTest.php', "<?php namespace test_app\\lib;\n\n\t\t\tclass LibTest{ public function testMe() {\n\t\t\t\treturn 'core class';\n\t\t\t}}");
     file_put_contents($testApp . '/_patch/PatchedLibTest.php', "<?php namespace test_app\\lib;\n\n\t\t\tclass LibTest{ public function testMe() {\n\t\t\t\treturn 'patched class';\n\t\t\t}}");
     $expected = $result = Libraries::realPath($testApp . '/lib/LibTest.php');
     $result = Libraries::path('test_app\\lib\\LibTest');
     $this->assertEqual($expected, $result);
     Libraries::map(array('test_app\\lib\\LibTest' => $testApp . '/_patch/PatchedLibTest.php'));
     $expected = $result = Libraries::realPath($testApp . '/_patch/PatchedLibTest.php');
     $result = Libraries::path('test_app\\lib\\LibTest');
     Libraries::unmap(array('test_app\\lib\\LibTest'));
     $expected = $result = Libraries::realPath($testApp . '/lib/LibTest.php');
     $result = Libraries::path('test_app\\lib\\LibTest');
     $this->assertEqual($expected, $result);
     Libraries::map(array('test_app\\lib\\LibTest' => $testApp . '/_patch/PatchedLibTest.php'));
     Libraries::unmap('test_app\\lib\\LibTest');
     $expected = $result = Libraries::realPath($testApp . '/lib/LibTest.php');
     $result = Libraries::path('test_app\\lib\\LibTest');
     Libraries::map(array('test_app\\lib\\LibTest' => $testApp . '/_patch/PatchedLibTest.php'));
     $object = new \test_app\lib\LibTest();
     $result = $object->testMe();
     $this->assertEqual('patched class', $result);
     $this->_cleanUp();
 }