Log message #4032582

# At Username Text
# May 25th 2017, 23:26 obinoob I will and the fact that I can't create an unique instance and pass my params drives me a bit crazy I'm self learning person so always looking to find proper answers only rest when I get my answer :)
# May 25th 2017, 23:25 jeremyharris If you need it in the controller, make a getter that just caches the var on first call
# May 25th 2017, 23:24 jeremyharris You don't need out anywhere else, so it's fine :)
# May 25th 2017, 23:24 obinoob slackebot: yes I was doing that but that felt wrong
# May 25th 2017, 23:24 jeremyharris On the trait
# May 25th 2017, 23:23 jeremyharris Make it when you need it
# May 25th 2017, 23:17 obinoob slackebot: not an easy task to me lol
# May 25th 2017, 23:15 obinoob slackebot: where should I create UserData instance?
# May 25th 2017, 23:12 obinoob slackebot: 2) remove AppRules constructor
# May 25th 2017, 23:12 obinoob slackebot: 1) replace Controller constructor by public function initialize() { parent::initialize(); }
# May 25th 2017, 23:10 jeremyharris Then make it a component :P
# May 25th 2017, 23:10 jeremyharris So use initialize instead :) removing the constructor override will help. Then remove the trait constructor and just call a method that sets up the user instead. Problems solved
# May 25th 2017, 23:08 obinoob slackebot: I'm afraid so
# May 25th 2017, 23:08 jeremyharris You're currently overriding it with different parameters than the parent constructor expects, so things will definitely break
# May 25th 2017, 23:07 jeremyharris Maybe forgot to call parent::initialize(). Either way you shouldn't override the constructor if you can help it
# May 25th 2017, 23:06 obinoob slackebot: I jave tried but i raises some error that I don't recall right now...
# May 25th 2017, 23:06 jeremyharris It's better to use initialize() instead.
# May 25th 2017, 23:04 obinoob slackebot: The problem is the same to me I don't get how can i use a constructor in cakephp when it overrides Controller class or other... there are manny things that I'm not ware...
# May 25th 2017, 23:02 jeremyharris But you should really refactor to either a component or lazy load the user when the trait methods need it
# May 25th 2017, 23:01 jeremyharris Call $this->AppRulesConstruct() on the controller constructor
# May 25th 2017, 23:00 obinoob slackebot: I totally agree so who can I solve this issue?
# May 25th 2017, 23:00 jeremyharris That's why _user never gets set
# May 25th 2017, 22:59 jeremyharris You aliased it but don't call that method name that I see
# May 25th 2017, 22:59 jeremyharris The reason you're getting that error is because the trait constructor doesn't get called
# May 25th 2017, 22:58 jeremyharris No the trait
# May 25th 2017, 22:58 obinoob slackebot: You mean the UseData.php class?
# May 25th 2017, 22:57 obinoob slackebot: in slackebot getUserId()
# May 25th 2017, 22:57 jeremyharris Also this should probably be a component as it interacts with the controller layer (other components, the response)
# May 25th 2017, 22:57 obinoob slackebot: https://postimg.org/image/vkktd1f6v/
# May 25th 2017, 22:57 obinoob slackebot: someFunction was just an example
# May 25th 2017, 22:56 jeremyharris Ok what's the problem? Where's "someFunction"
# May 25th 2017, 22:54 obinoob slackebot: Controller: https://gist.github.com/fccpt/79d0c074d0592a88bd0cc7cb1d482f55
# May 25th 2017, 22:54 obinoob slackebot: Trait: https://gist.github.com/fccpt/66962a7b6422ed933e30f04cdf03e00e
# May 25th 2017, 22:53 obinoob slackebot: First Class https://gist.github.com/fccpt/fc2d887ebbbf2723842c68f831b507dd
# May 25th 2017, 22:44 obinoob *yep I will never get used to this keyboard
# May 25th 2017, 22:44 jeremyharris Seems like a fairly obvious error though. Wherever you're calling the function you're calling it on something that doesn't exist
# May 25th 2017, 22:44 obinoob yesp i will
# May 25th 2017, 22:43 jeremyharris obinoob gist your object (and its parents/traits) and the call
# May 25th 2017, 22:43 obinoob I will try to gist a small example of the code
# May 25th 2017, 22:42 jeremyharris meder_ make sure the controller is in the right namespace and that you have a route for the API prefix
# May 25th 2017, 22:42 obinoob I have not a single idea on how to do this that is why I'm having a fatal error, what does it mean this: Call to a member function someFunction() on null