Installer\Tool\Tool::generateSecret PHP Method

generateSecret() public static method

Generate a random secret string
public static generateSecret ( )
    public static function generateSecret()
    {
        $secret = '';
        $alphanum = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        $length = strlen($alphanum);
        for ($a = 0; $a < 32; $a++) {
            $secret .= substr($alphanum, rand(0, $length - 1), 1);
        }
        return $secret;
    }

Usage Example

    /**
     * Find and replace
     *
     * @param $input
     * @param $bundles
     * @param $registerNamespaces
     * @param $registerPrefixes
     */
    private function findAndReplace($input, $bundles, $registerNamespaces, $registerPrefixes, $customConfig)
    {
        $twig_config = ('twig' === $input->getOption('template-engine')) ? $this->loadConfigFile('twig') : '';
        $assetic_config = ($input->getOption('assetic')) ? $this->loadConfigFile('assetic') : '';
        $assetic_dev_config = ($input->getOption('assetic')) ? $this->loadConfigFile('assetic_dev') : '';
        $doctrine_config = ('doctrine' === $input->getOption('orm')) ? $this->loadConfigFile('doctrine') : '';
        $doctrine_config = str_replace(
            array('{{ app }}', '{{ namespace }}'), 
            array($input->getArgument('app'), $input->getArgument('vendor')),
            $doctrine_config);
        $propel_config = ('propel' === $input->getOption('orm')) ? $this->loadConfigFile('propel') : '';
        $swift_config = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer') : '';
        $swift_autoload = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer_autoload') : '';
        $swift_test = ($input->getOption('swiftmailer')) ? $this->loadConfigFile('swiftmailer_test') : '';
        $routing = ($input->getOption('controller')) ? $this->loadConfigFile('routing') : '';
        $routing = str_replace(
            array('{{ app }}', '{{ namespace }}'),
            array($input->getArgument('app'), $input->getArgument('vendor')),
            $routing);
        $mandango_config = ('mandango' === $input->getOption('odm')) ? $this->loadConfigFile('mandango_config') : '';
        $mandango_config_dev = ('mandango' === $input->getOption('odm')) ? $this->loadConfigFile('mandango_config_dev') : '';

        Mustache::renderDir($input->getArgument('path'), array(
            'namespace' => $input->getArgument('vendor'),
            'appname' => $input->getArgument('app'),
            'controller' => $input->getOption('controller'),
            'secret' => Tool::generateSecret(),
            'session_start' => $input->getOption('session-start') ? 'true' : 'false',
            'session_name'  => $input->getOption('session-name'),
            'template_engine' => $input->getOption('template-engine'),
            'routing' => $routing,
            'bundles' => $bundles,
            'registerNamespaces' => $registerNamespaces,
            'registerPrefixes' => $registerPrefixes,
            'twig' => $twig_config,
            'assetic' => $assetic_config,
            'assetic_dev' => $assetic_dev_config,
            'doctrine' => $doctrine_config,
            'propel' => $propel_config,
            'swiftmailer' => $swift_config,
            'swiftmailer_autoload' => $swift_autoload,
            'swiftmailer_test' => $swift_test,
            'custom' => $customConfig,
            'mandango_config' => $mandango_config,
            'mandango_config_dev' => $mandango_config_dev
        ));
    }