lundi 31 juillet 2017

Custom function in Laravel return NULL but on var_dump is not NULL

I have custom class in laravel 5.4 app which should return hashed secret. The class is

class Hash {

   // Unencrypted secret

   private $secret;

   public function generateSecret(){

       $secret = generateSecretKey();

       $secret_hash = password_hash($secret, PASSWORD_BCRYPT);

       Session::put('secret-hash', $secret_hash);
       $this->secret = $secret;        
   }
}

Then in my controller I have

use Hash;
class UsersController extends BaseController
{
    public function Auth()
    {
        $myhash = new hash();
        $msg = '';

        $myhash->generateSecret();
        $enc = $myhash->encryptSecret($key->key);
        return View::make('users.auth', ['enc'=> $enc]);
    }
     ...
}

var_dump($myhash->generateSecret()); from the controller return NULL

var_dump($secret) in public function generateSecret() return string(15) "866094233422231" string(15) "583375207466239" which is correct.

var_dump($myhash); in UsersController also return correct data

String(15) "008844975703088" object(Hash)#329 (1) 
{ 
     ["secret":"Hash":private]=> string(15) "008844975703088" 
}

Appears that the problem is in controller and generating the hash $myhash->generateSecret();. The function must generate secret(a string) which then is hashed $enc = $myhash->encryptSecret($key->key); and displayed on page.

Any ideas why the function isn't working? I don't know what else I can try.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire