如何在php中使用'使用',导致致命错误

时间:2016-10-05 21:38:29

标签: php namespaces

我已经了解到我需要在php中使用名称空间,就像我在下面的代码中使用的那样,但我得到Fatal error: Trait 'SuperClosure\Serializer' not found 我这样用它:

use SuperClosure\Serializer;
public function set( $key, $value )
   {
    $key = strtolower( $key );      
    $serializer = new Serializer();
    $serialized = $serializer->serialize($value);



    $_SESSION["HA::STORE"][$key] = $serialized;
   }

我哪里错了?请告诉我使用它的正确方法?

1 个答案:

答案 0 :(得分:3)

在声明类之前,您需要使用名称空间,因为单词use指向Trait机制(PHP: Traits)。类中名称空间和特征的示例:

<?php namespace Foo\Bar;

/* I am telling to PHP compiler that class
 * Serializer has different path than class Baz.
 */
use SuperClosure\Serializer;
use SuperClosure\Shortcuts;

class Baz {
    /* Now I used Trait. That should include
     * methods defined in trait Shortcuts
     */
    use Shortcuts;
}

另外,我建议您详细了解namespacesimporting