0

I have learned that I need to use name space in php like I have used in my following code but I'm getting Fatal error: Trait 'SuperClosure\Serializer' not found I have used it like this:

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



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

where I am wrong ? please tell me the correct way to use it?

1
  • chould be that the SuperClosure\Serialize need another path .. check where is placed in your dir scaffolding Commented Oct 5, 2016 at 21:41

1 Answer 1

3

You need to use namespaces before declaring class because word use point to Trait mechanism (PHP: Traits). Example of namespaces and traits in class:

<?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;
}

Also I recommend read more about namespaces and importing them.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.