The Silex Starter Pack is a simple bootstrap to help you begin your project with Silex. It includes:
- An admin login system and control panel (styled mostly using Bootstrap)
- A very basic user authentication system allowing for sign up/log in/log out with users coming from a database.
- A console application allowing quick and easy development of console tasks
- Create your project by typing the following command:
composer create-project deanc/silex-starter-pack your-project-name dev-master- Decide on your any namespaces you are going to want to autoload and create the relevent directory structure under the
srcdirectory. - Open up composer.json and adjust the
autoloadsection to load your new namespace. An example would be:
,"autoload": {
"psr-0": {
"DC\\SilexStarterPack": "src/"
,"YourName\\SomeProjectName" : "src/"
}
}- Copy
app/config.default.phpto a new file in the same directory calledapp/config.phpand fill in the configuration values. - Run
composer install - Set up your vhost:
Navigate into the web directory and type php -S 127.0.0.1:8080
####Apache instructions:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/Users/deanclatworthy/Projects/silex-starter-pack/web"
<Directory "/Users/deanclatworthy/Projects/silex-starter-pack/web">
Options -Indexes FollowSymLinks
AllowOverride All
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [QSA,L]
</IfModule>
</Directory>
ServerName ssp.dev
ErrorLog "/private/var/log/apache2/silex-starter-pack.dev-error_log"
CustomLog "/private/var/log/apache2/silex-starter-pack.dev-access_log" common
</VirtualHost>(Nginx instructions coming soon...)
- Go to
http://ssp.devor whatever you set up your vhost as and your basic application should be loaded.
The admin control panel is located at http://ssp.dev/a/. If you want to add any new admin controllers add them under your own namespace such as YourName\Project\Controller\Admin\Project.php for a Project admin controller. Then mount it in index.php like so:
$app->mount('/a', new YourName\Project\Controller\Admin\Project());If you want to use Twilio require their library:
composer require twilio/sdk
Enable the utility in app/config.php:
define('TWILIO_ENABLED', true);
Use it as follows:
$app['twilo']->send($from, $to, $text);- Pagination: "soup/paginator" https://packagist.org/packages/soup/paginator
- Mailing: "swiftmailer/swiftmailer" https://packagist.org/packages/swiftmailer/swiftmailer
