added foundation of testing setup.
This commit is contained in:
parent
db24d77e1e
commit
6f2e83f284
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
// Overrride the application path if testing Laravel.
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
foreach ($_SERVER['argv'] as $key => $argument)
|
||||||
|
{
|
||||||
|
if ($argument == 'laravel' and $_SERVER['argv'][$key - 1] == '--group')
|
||||||
|
{
|
||||||
|
define('APP_PATH', realpath('tests/laravel').DIRECTORY_SEPARATOR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
// Set the core Laravel path constants.
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
require 'paths.php';
|
||||||
|
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
// Bootstrap the Laravel core.
|
||||||
|
// --------------------------------------------------------------
|
||||||
|
require SYS_PATH.'core.php';
|
|
@ -0,0 +1,7 @@
|
||||||
|
<phpunit colors="false" bootstrap="phpunit.php">
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="Test Suite">
|
||||||
|
<directory suffix=".php">tests/cases</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
</phpunit>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class StrTest extends PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test the Str::encoding method.
|
||||||
|
*
|
||||||
|
* @group laravel
|
||||||
|
*/
|
||||||
|
public function testEncodingShouldReturnApplicationEncoding()
|
||||||
|
{
|
||||||
|
$this->assertEquals('UTF-8', Config::get('application.encoding'));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Auto-Loader PSR-0 Directories
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The Laravel auto-loader can search directories for files using the PSR-0
|
||||||
|
| naming convention. This convention basically organizes classes by using
|
||||||
|
| the class namespace to indicate the directory structure.
|
||||||
|
|
|
||||||
|
| So you don't have to manually map all of your models, we've added the
|
||||||
|
| models and libraries directories for you. So, you can model away and
|
||||||
|
| the auto-loader will take care of the rest.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Autoloader::psr(array(
|
||||||
|
APP_PATH.'models',
|
||||||
|
APP_PATH.'libraries',
|
||||||
|
));
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Auto-Loader Mappings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Laravel uses a simple array of class to path mappings to drive the class
|
||||||
|
| auto-loader. This simple approach helps avoid the performance problems
|
||||||
|
| of searching through directories by some kind of convention. It also
|
||||||
|
| gives you the freedom to organize your application how you want.
|
||||||
|
|
|
||||||
|
| Registering a mapping couldn't be easier. Just pass an array of class
|
||||||
|
| to path maps into the "map" function of Autoloader. Then, when you
|
||||||
|
| want to use that class, just use it. It's a piece of cake.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Autoloader::map(array(
|
||||||
|
//'User' => APP_PATH.'models/user.php',
|
||||||
|
//'Role' => APP_PATH.'models/role.php',
|
||||||
|
));
|
|
@ -0,0 +1 @@
|
||||||
|
local/*
|
|
@ -0,0 +1,171 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application URL
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The URL used to access your application without a trailing slash. The URL
|
||||||
|
| does nto have to be set. If it isn't we'll try our best to guess the URL
|
||||||
|
| of your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'url' => '',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Index
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are including the "index.php" in your URLs, you can ignore this.
|
||||||
|
|
|
||||||
|
| However, if you are using mod_rewrite to get cleaner URLs, just set
|
||||||
|
| this option to an empty string and we'll take care of the rest.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'index' => 'index.php',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Key
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This key is used by the encryption and cookie classes to generate secure
|
||||||
|
| encrypted strings and hashes. It is extremely important that this key
|
||||||
|
| remain secret and should not be shared with anyone. Make it about 32
|
||||||
|
| characters of random gibberish.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'key' => '',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Character Encoding
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The default character encoding used by your application. This encoding
|
||||||
|
| will be used by the Str, Text, Form, and any other classes that need
|
||||||
|
| to know what type of encoding to use for your awesome application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'encoding' => 'UTF-8',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Language
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The default language of your application. This language will be used by
|
||||||
|
| Lang library as the default language when doing string localization.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'language' => 'en',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| SSL Link Generation
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Many sites use SSL to protect their users data. However, you may not
|
||||||
|
| always be able to use SSL on your development machine, meaning all HTTPS
|
||||||
|
| will be broken during development.
|
||||||
|
|
|
||||||
|
| For this reason, you may wish to disable the generation of HTTPS links
|
||||||
|
| throughout your application. This option does just that. All attempts to
|
||||||
|
| generate HTTPS links will generate regular HTTP links instead.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'ssl' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Timezone
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The default timezone of your application. This timezone will be used when
|
||||||
|
| Laravel needs a date, such as when writing to a log file or travelling
|
||||||
|
| to a distant star at warp speed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'timezone' => 'UTC',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Autoloaded Bundles
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Bundles can provide a ton of awesome drop-in functionality for your web
|
||||||
|
| application. Everything from Twitter integration to an admin backend.
|
||||||
|
|
|
||||||
|
| Here you may specify the bundles that should be automatically started
|
||||||
|
| on every request to your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'bundles' => array(),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Class Aliases
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here, you can specify any class aliases that you would like registered
|
||||||
|
| when Laravel loads. Aliases are lazy-loaded, so add as many as you want.
|
||||||
|
|
|
||||||
|
| Aliases make it more convenient to use namespaced classes. Instead of
|
||||||
|
| referring to the class using its full namespace, you may simply use
|
||||||
|
| the alias defined here.
|
||||||
|
|
|
||||||
|
| We have already aliased common Laravel classes to make your life easier.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'aliases' => array(
|
||||||
|
'Auth' => 'Laravel\\Auth',
|
||||||
|
'Asset' => 'Laravel\\Asset',
|
||||||
|
'Autoloader' => 'Laravel\\Autoloader',
|
||||||
|
'Bundle' => 'Laravel\\Bundle',
|
||||||
|
'Cache' => 'Laravel\\Cache',
|
||||||
|
'Config' => 'Laravel\\Config',
|
||||||
|
'Controller' => 'Laravel\\Routing\\Controller',
|
||||||
|
'Cookie' => 'Laravel\\Cookie',
|
||||||
|
'Crypter' => 'Laravel\\Crypter',
|
||||||
|
'DB' => 'Laravel\\Database',
|
||||||
|
'Event' => 'Laravel\\Event',
|
||||||
|
'File' => 'Laravel\\File',
|
||||||
|
'Filter' => 'Laravel\\Routing\\Filter',
|
||||||
|
'Form' => 'Laravel\\Form',
|
||||||
|
'Hash' => 'Laravel\\Hash',
|
||||||
|
'HTML' => 'Laravel\\HTML',
|
||||||
|
'Input' => 'Laravel\\Input',
|
||||||
|
'IoC' => 'Laravel\\IoC',
|
||||||
|
'Lang' => 'Laravel\\Lang',
|
||||||
|
'Log' => 'Laravel\\Log',
|
||||||
|
'Memcached' => 'Laravel\\Memcached',
|
||||||
|
'Paginator' => 'Laravel\\Paginator',
|
||||||
|
'URL' => 'Laravel\\URL',
|
||||||
|
'Redirect' => 'Laravel\\Redirect',
|
||||||
|
'Redis' => 'Laravel\\Redis',
|
||||||
|
'Request' => 'Laravel\\Request',
|
||||||
|
'Response' => 'Laravel\\Response',
|
||||||
|
'Router' => 'Laravel\\Routing\\Router',
|
||||||
|
'Schema' => 'Laravel\\Database\\Schema',
|
||||||
|
'Section' => 'Laravel\\Section',
|
||||||
|
'Session' => 'Laravel\\Session',
|
||||||
|
'Str' => 'Laravel\\Str',
|
||||||
|
'Task' => 'Laravel\\CLI\\Tasks\\Task',
|
||||||
|
'URI' => 'Laravel\\URI',
|
||||||
|
'Validator' => 'Laravel\\Validator',
|
||||||
|
'View' => 'Laravel\\View',
|
||||||
|
),
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Retrieve The Current User
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This closure is called by the Auth class' "user" method when trying to
|
||||||
|
| retrieve a user by the ID that is stored in their session. If you find
|
||||||
|
| the user, just return the user object, but make sure it has an "id"
|
||||||
|
| property. If you can't find the user, just return null.
|
||||||
|
|
|
||||||
|
| Of course, a simple and elegant authentication solution has already
|
||||||
|
| been provided for you using the query builder and hashing engine.
|
||||||
|
| We love making your life as easy as possible.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'user' => function($id)
|
||||||
|
{
|
||||||
|
if (filter_var($id, FILTER_VALIDATE_INT) !== false)
|
||||||
|
{
|
||||||
|
return DB::table('users')->find($id);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authenticate User Credentials
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This closure is called by the Auth::attempt() method when attempting to
|
||||||
|
| authenticate a user that is logging into your application. It's like a
|
||||||
|
| super buff bouncer to your application.
|
||||||
|
|
|
||||||
|
| If the provided credentials are correct, simply return an object that
|
||||||
|
| represents the user being authenticated. As long as it has a property
|
||||||
|
| for the "id", any object will work. If the credentials are not valid,
|
||||||
|
| you don't meed to return anything.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attempt' => function($username, $password)
|
||||||
|
{
|
||||||
|
$user = DB::table('users')->where_username($username)->first();
|
||||||
|
|
||||||
|
if ( ! is_null($user) and Hash::check($password, $user->password))
|
||||||
|
{
|
||||||
|
return $user;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Logout The Current User
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may do anything that needs to be done when a user logs out of
|
||||||
|
| your application, such as call the logout method on a third-party API
|
||||||
|
| you are using for authentication or anything else you desire.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'logout' => function($user) {}
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,71 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The name of the default cache driver for your application. Caching can
|
||||||
|
| be used to increase the performance of your application by storing any
|
||||||
|
| commonly accessed data in memory, a file, or some other storage.
|
||||||
|
|
|
||||||
|
| A variety of awesome drivers are available for you to use with Laravel.
|
||||||
|
| Some, like APC, are extremely fast. However, if that isn't an option
|
||||||
|
| in your environment, try file or database caching.
|
||||||
|
|
|
||||||
|
| Drivers: 'file', 'memcached', 'apc', 'redis', 'database'.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => 'file',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Key
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This key will be prepended to item keys stored using Memcached and APC
|
||||||
|
| to prevent collisions with other applications on the server. Since the
|
||||||
|
| memory based stores could be shared by other applications, we need to
|
||||||
|
| be polite and use a prefix to uniquely identifier our items.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'key' => 'laravel',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Database
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the database cache driver, this database table will be used
|
||||||
|
| to store the cached item. You may also add a "connection" option to
|
||||||
|
| the array to specify which database connection should be used.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'database' => array('table' => 'laravel_cache'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Memcached Servers
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The Memcached servers used by your application. Memcached is a free and
|
||||||
|
| open source, high-performance, distributed memory caching system. It is
|
||||||
|
| generic in nature but intended for use in speeding up web applications
|
||||||
|
| by alleviating database load.
|
||||||
|
|
|
||||||
|
| For more information, check out: http://memcached.org
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'memcached' => array(
|
||||||
|
|
||||||
|
array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100),
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,90 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Database Connection
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The name of your default database connection. This connection will used
|
||||||
|
| as the default for all database operations unless a different name is
|
||||||
|
| given when performing said operation. This connection name should be
|
||||||
|
| listed in the array of connections below.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => 'mysql',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Database Connections
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| All of the database connections used by your application. Many of your
|
||||||
|
| applications will no doubt only use one connection; however, you have
|
||||||
|
| the freedom to specify as many connections as you can handle.
|
||||||
|
|
|
||||||
|
| All database work in Laravel is done through the PHP's PDO facilities,
|
||||||
|
| so make sure you have the PDO drivers for your particlar database of
|
||||||
|
| choice installed on your machine.
|
||||||
|
|
|
||||||
|
| Drivers: 'mysql', 'pgsql', 'sqlsrv', 'sqlite'.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => array(
|
||||||
|
|
||||||
|
'sqlite' => array(
|
||||||
|
'driver' => 'sqlite',
|
||||||
|
'database' => 'application',
|
||||||
|
),
|
||||||
|
|
||||||
|
'mysql' => array(
|
||||||
|
'driver' => 'mysql',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'database' => 'database',
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => 'password',
|
||||||
|
'charset' => 'utf8',
|
||||||
|
),
|
||||||
|
|
||||||
|
'pgsql' => array(
|
||||||
|
'driver' => 'pgsql',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'database' => 'database',
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => 'password',
|
||||||
|
'charset' => 'utf8',
|
||||||
|
),
|
||||||
|
|
||||||
|
'sqlsrv' => array(
|
||||||
|
'driver' => 'sqlsrv',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'database' => 'database',
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => 'password',
|
||||||
|
),
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Redis Databases
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Redis is an open source, fast, and advanced key-value store. However, it
|
||||||
|
| provides a richer set of commands than a typical key-value store such as
|
||||||
|
| APC or memcached. All the cool kids are using it.
|
||||||
|
|
|
||||||
|
| To get the scoop on Redis, check out: http://redis.io
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'redis' => array(
|
||||||
|
|
||||||
|
'default' => array('host' => '127.0.0.1', 'port' => 6379),
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Ignored Error Levels
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you simply specify the error levels that should be ignored by the
|
||||||
|
| Laravel error handler. These levels will still be logged; however, no
|
||||||
|
| information about about them will be displayed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'ignore' => array(E_NOTICE, E_USER_NOTICE, E_DEPRECATED, E_USER_DEPRECATED),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Detail
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Detailed error messages contain information about the file in which an
|
||||||
|
| error occurs, as well as a PHP stack trace containing the call stack.
|
||||||
|
| You'll want them when you're trying to debug your application.
|
||||||
|
|
|
||||||
|
| If your application is in production, you'll want to turn off the error
|
||||||
|
| details for enhanced security and user experience since the exception
|
||||||
|
| stack trace could contain sensitive information.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'detail' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Logging
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When error logging is enabled, the "logger" Closure defined below will
|
||||||
|
| be called for every error in your application. You are free to log the
|
||||||
|
| errors however you want. Enjoy the flexibility.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'log' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Logger
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Because of the various ways of managing error logging, you get complete
|
||||||
|
| flexibility to manage error logging as you see fit. This function will
|
||||||
|
| be called anytime an error occurs within your application and error
|
||||||
|
| logging is enabled.
|
||||||
|
|
|
||||||
|
| You may log the error message however you like; however, a simple log
|
||||||
|
| solution has been setup for you which will log all error messages to
|
||||||
|
| text files within the application storage directory.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'logger' => function($exception)
|
||||||
|
{
|
||||||
|
Log::exception($exception);
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,97 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
'hqx' => 'application/mac-binhex40',
|
||||||
|
'cpt' => 'application/mac-compactpro',
|
||||||
|
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream'),
|
||||||
|
'bin' => 'application/macbinary',
|
||||||
|
'dms' => 'application/octet-stream',
|
||||||
|
'lha' => 'application/octet-stream',
|
||||||
|
'lzh' => 'application/octet-stream',
|
||||||
|
'exe' => array('application/octet-stream', 'application/x-msdownload'),
|
||||||
|
'class' => 'application/octet-stream',
|
||||||
|
'psd' => 'application/x-photoshop',
|
||||||
|
'so' => 'application/octet-stream',
|
||||||
|
'sea' => 'application/octet-stream',
|
||||||
|
'dll' => 'application/octet-stream',
|
||||||
|
'oda' => 'application/oda',
|
||||||
|
'pdf' => array('application/pdf', 'application/x-download'),
|
||||||
|
'ai' => 'application/postscript',
|
||||||
|
'eps' => 'application/postscript',
|
||||||
|
'ps' => 'application/postscript',
|
||||||
|
'smi' => 'application/smil',
|
||||||
|
'smil' => 'application/smil',
|
||||||
|
'mif' => 'application/vnd.mif',
|
||||||
|
'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
|
||||||
|
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'),
|
||||||
|
'wbxml' => 'application/wbxml',
|
||||||
|
'wmlc' => 'application/wmlc',
|
||||||
|
'dcr' => 'application/x-director',
|
||||||
|
'dir' => 'application/x-director',
|
||||||
|
'dxr' => 'application/x-director',
|
||||||
|
'dvi' => 'application/x-dvi',
|
||||||
|
'gtar' => 'application/x-gtar',
|
||||||
|
'gz' => 'application/x-gzip',
|
||||||
|
'php' => array('application/x-httpd-php', 'text/x-php'),
|
||||||
|
'php4' => 'application/x-httpd-php',
|
||||||
|
'php3' => 'application/x-httpd-php',
|
||||||
|
'phtml' => 'application/x-httpd-php',
|
||||||
|
'phps' => 'application/x-httpd-php-source',
|
||||||
|
'js' => 'application/x-javascript',
|
||||||
|
'swf' => 'application/x-shockwave-flash',
|
||||||
|
'sit' => 'application/x-stuffit',
|
||||||
|
'tar' => 'application/x-tar',
|
||||||
|
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
|
||||||
|
'xhtml' => 'application/xhtml+xml',
|
||||||
|
'xht' => 'application/xhtml+xml',
|
||||||
|
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
|
||||||
|
'mid' => 'audio/midi',
|
||||||
|
'midi' => 'audio/midi',
|
||||||
|
'mpga' => 'audio/mpeg',
|
||||||
|
'mp2' => 'audio/mpeg',
|
||||||
|
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
|
||||||
|
'aif' => 'audio/x-aiff',
|
||||||
|
'aiff' => 'audio/x-aiff',
|
||||||
|
'aifc' => 'audio/x-aiff',
|
||||||
|
'ram' => 'audio/x-pn-realaudio',
|
||||||
|
'rm' => 'audio/x-pn-realaudio',
|
||||||
|
'rpm' => 'audio/x-pn-realaudio-plugin',
|
||||||
|
'ra' => 'audio/x-realaudio',
|
||||||
|
'rv' => 'video/vnd.rn-realvideo',
|
||||||
|
'wav' => 'audio/x-wav',
|
||||||
|
'bmp' => 'image/bmp',
|
||||||
|
'gif' => 'image/gif',
|
||||||
|
'jpeg' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'jpg' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'jpe' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'png' => 'image/png',
|
||||||
|
'tiff' => 'image/tiff',
|
||||||
|
'tif' => 'image/tiff',
|
||||||
|
'css' => 'text/css',
|
||||||
|
'html' => 'text/html',
|
||||||
|
'htm' => 'text/html',
|
||||||
|
'shtml' => 'text/html',
|
||||||
|
'txt' => 'text/plain',
|
||||||
|
'text' => 'text/plain',
|
||||||
|
'log' => array('text/plain', 'text/x-log'),
|
||||||
|
'rtx' => 'text/richtext',
|
||||||
|
'rtf' => 'text/rtf',
|
||||||
|
'xml' => 'text/xml',
|
||||||
|
'xsl' => 'text/xml',
|
||||||
|
'mpeg' => 'video/mpeg',
|
||||||
|
'mpg' => 'video/mpeg',
|
||||||
|
'mpe' => 'video/mpeg',
|
||||||
|
'qt' => 'video/quicktime',
|
||||||
|
'mov' => 'video/quicktime',
|
||||||
|
'avi' => 'video/x-msvideo',
|
||||||
|
'movie' => 'video/x-sgi-movie',
|
||||||
|
'doc' => 'application/msword',
|
||||||
|
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
||||||
|
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||||
|
'word' => array('application/msword', 'application/octet-stream'),
|
||||||
|
'xl' => 'application/excel',
|
||||||
|
'eml' => 'message/rfc822',
|
||||||
|
'json' => array('application/json', 'text/json'),
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,117 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The name of the session driver used by your application. Since HTTP is
|
||||||
|
| stateless, sessions are used to simulate "state" across requests made
|
||||||
|
| by the same user of your application. In other words, it's how an
|
||||||
|
| application knows who the heck you are.
|
||||||
|
|
|
||||||
|
| Drivers: 'cookie', 'file', 'database', 'memcached', 'apc', 'redis'.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => '',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Database
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The database table on which the session should be stored. It probably
|
||||||
|
| goes without saying that this option only matters if you are using
|
||||||
|
| the super slick database session driver.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'table' => 'sessions',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Garbage Collection Probability
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Some session drivers require the manual clean-up of expired sessions.
|
||||||
|
| This option specifies the probability of session garbage collection
|
||||||
|
| occuring for any given request.
|
||||||
|
|
|
||||||
|
| For example, the default value states that garbage collection has a
|
||||||
|
| 2% chance of occuring for any given request to the application.
|
||||||
|
| Feel free to tune this to your application's size and speed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'sweepage' => array(2, 100),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Lifetime
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The number of minutes a session can be idle before expiring.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'lifetime' => 60,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Expiration On Close
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines if the session should expire when the user's web browser closes.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'expire_on_close' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The name that should be given to the session cookie.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'cookie' => 'laravel_session',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The path for which the session cookie is available.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'path' => '/',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Domain
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The domain for which the session cookie is available.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'domain' => null,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| HTTPS Only Session Cookie
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines if the cookie should only be sent over HTTPS.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'secure' => false,
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,119 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| String Inflection
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This array contains the singular and plural forms of words. It's used by
|
||||||
|
| the "singular" and "plural" methods on the Str class to convert a given
|
||||||
|
| word from singular to plural and vice versa.
|
||||||
|
|
|
||||||
|
| This simple array is in constrast to the complicated regular expression
|
||||||
|
| patterns used by other frameworks. We think you'll enjoy the speed and
|
||||||
|
| simplicity of this solution.
|
||||||
|
|
|
||||||
|
| When adding a word to the array, the key should be the singular form,
|
||||||
|
| while the array value should be the plural form. We've included an
|
||||||
|
| example to get you started!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'inflection' => array(
|
||||||
|
|
||||||
|
'user' => 'users',
|
||||||
|
'person' => 'people',
|
||||||
|
'comment' => 'comments',
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| ASCII Characters
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This array contains foreign characters and their 7-bit ASCII equivalents.
|
||||||
|
| The array is used by the "ascii" method on the Str class to get strings
|
||||||
|
| ready for inclusion in a URL slug.
|
||||||
|
|
|
||||||
|
| Of course, the "ascii" method may also be used by you for whatever your
|
||||||
|
| application requires. Feel free to add any characters we missed, and be
|
||||||
|
| sure to let us know about them!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'ascii' => array(
|
||||||
|
|
||||||
|
'/æ|ǽ/' => 'ae',
|
||||||
|
'/œ/' => 'oe',
|
||||||
|
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|А/' => 'A',
|
||||||
|
'/à|á|â|ã|ä|å|ǻ|ā|ă|ą|ǎ|ª|а/' => 'a',
|
||||||
|
'/Б/' => 'B',
|
||||||
|
'/б/' => 'b',
|
||||||
|
'/Ç|Ć|Ĉ|Ċ|Č|Ц/' => 'C',
|
||||||
|
'/ç|ć|ĉ|ċ|č|ц/' => 'c',
|
||||||
|
'/Ð|Ď|Đ|Д/' => 'Dj',
|
||||||
|
'/ð|ď|đ|д/' => 'dj',
|
||||||
|
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Е|Ё|Э/' => 'E',
|
||||||
|
'/è|é|ê|ë|ē|ĕ|ė|ę|ě|е|ё|э/' => 'e',
|
||||||
|
'/Ф/' => 'F',
|
||||||
|
'/ƒ|ф/' => 'f',
|
||||||
|
'/Ĝ|Ğ|Ġ|Ģ|Г/' => 'G',
|
||||||
|
'/ĝ|ğ|ġ|ģ|г/' => 'g',
|
||||||
|
'/Ĥ|Ħ|Х/' => 'H',
|
||||||
|
'/ĥ|ħ|х/' => 'h',
|
||||||
|
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|И/' => 'I',
|
||||||
|
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|и/' => 'i',
|
||||||
|
'/Ĵ|Й/' => 'J',
|
||||||
|
'/ĵ|й/' => 'j',
|
||||||
|
'/Ķ|К/' => 'K',
|
||||||
|
'/ķ|к/' => 'k',
|
||||||
|
'/Ĺ|Ļ|Ľ|Ŀ|Ł|Л/' => 'L',
|
||||||
|
'/ĺ|ļ|ľ|ŀ|ł|л/' => 'l',
|
||||||
|
'/М/' => 'M',
|
||||||
|
'/м/' => 'm',
|
||||||
|
'/Ñ|Ń|Ņ|Ň|Н/' => 'N',
|
||||||
|
'/ñ|ń|ņ|ň|ʼn|н/' => 'n',
|
||||||
|
'/Ö|Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|О/' => 'O',
|
||||||
|
'/ö|ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|о/' => 'o',
|
||||||
|
'/П/' => 'P',
|
||||||
|
'/п/' => 'p',
|
||||||
|
'/Ŕ|Ŗ|Ř|Р/' => 'R',
|
||||||
|
'/ŕ|ŗ|ř|р/' => 'r',
|
||||||
|
'/Ś|Ŝ|Ş|Š|С/' => 'S',
|
||||||
|
'/ś|ŝ|ş|š|ſ|с/' => 's',
|
||||||
|
'/Ţ|Ť|Ŧ|Т/' => 'T',
|
||||||
|
'/ţ|ť|ŧ|т/' => 't',
|
||||||
|
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|У/' => 'U',
|
||||||
|
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|у/' => 'u',
|
||||||
|
'/В/' => 'V',
|
||||||
|
'/в/' => 'v',
|
||||||
|
'/Ý|Ÿ|Ŷ|Ы/' => 'Y',
|
||||||
|
'/ý|ÿ|ŷ|ы/' => 'y',
|
||||||
|
'/Ŵ/' => 'W',
|
||||||
|
'/ŵ/' => 'w',
|
||||||
|
'/Ź|Ż|Ž|З/' => 'Z',
|
||||||
|
'/ź|ż|ž|з/' => 'z',
|
||||||
|
'/Æ|Ǽ/' => 'AE',
|
||||||
|
'/ß/'=> 'ss',
|
||||||
|
'/IJ/' => 'IJ',
|
||||||
|
'/ij/' => 'ij',
|
||||||
|
'/Œ/' => 'OE',
|
||||||
|
'/Ч/' => 'Ch',
|
||||||
|
'/ч/' => 'ch',
|
||||||
|
'/Ю/' => 'Ju',
|
||||||
|
'/ю/' => 'ju',
|
||||||
|
'/Я/' => 'Ja',
|
||||||
|
'/я/' => 'ja',
|
||||||
|
'/Ш/' => 'Sh',
|
||||||
|
'/ш/' => 'sh',
|
||||||
|
'/Щ/' => 'Shch',
|
||||||
|
'/щ/' => 'shch',
|
||||||
|
'/Ж/' => 'Zh',
|
||||||
|
'/ж/' => 'zh',
|
||||||
|
|
||||||
|
),
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class Home_Controller extends Controller {
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| The Default Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Instead of using RESTful routes and anonymous functions, you might wish
|
||||||
|
| to use controllers to organize your application API. You'll love them.
|
||||||
|
|
|
||||||
|
| To start using this controller simply remove the default route from the
|
||||||
|
| application "routes.php" file. Laravel is smart enough to locate this
|
||||||
|
| controller and call the default method, which is "action_index".
|
||||||
|
|
|
||||||
|
| This controller responds to URIs beginning with "home", and it also
|
||||||
|
| serves as the default controller for the application, meaning it
|
||||||
|
| handles requests to the root of the application.
|
||||||
|
|
|
||||||
|
| You can respond to GET requests to "/home/profile" like so:
|
||||||
|
|
|
||||||
|
| public function action_profile()
|
||||||
|
| {
|
||||||
|
| return "This is your profile!";
|
||||||
|
| }
|
||||||
|
|
|
||||||
|
| Any extra segments are passed to the method as parameters:
|
||||||
|
|
|
||||||
|
| public function action_profile($id)
|
||||||
|
| {
|
||||||
|
| return "This is the profile for user {$id}.";
|
||||||
|
| }
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function action_index()
|
||||||
|
{
|
||||||
|
return View::make('home.index');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the pagination links. You're free to change them to anything you want.
|
||||||
|
| If you come up with something more exciting, let us know.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Previous',
|
||||||
|
'next' => 'Next »',
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,75 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Attribute Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap attribute place-holders
|
||||||
|
| with something more reader friendly such as "E-Mail Address" instead
|
||||||
|
| of "email". Your users will thank you.
|
||||||
|
|
|
||||||
|
| The Validator class will automatically search this array of lines it
|
||||||
|
| is attempting to replace the :attribute place-holder in messages.
|
||||||
|
| It's pretty slick. We think you'll like it.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => array(),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used
|
||||||
|
| by the validator class. Some of the rules contain multiple versions,
|
||||||
|
| such as the size (max, min, between) rules. These versions are used
|
||||||
|
| for different input types such as strings and files.
|
||||||
|
|
|
||||||
|
| These language lines may be easily changed to provide custom error
|
||||||
|
| messages in your application. Error messages for custom validation
|
||||||
|
| rules may also be added to this file.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
"accepted" => "The :attribute must be accepted.",
|
||||||
|
"active_url" => "The :attribute is not a valid URL.",
|
||||||
|
"alpha" => "The :attribute may only contain letters.",
|
||||||
|
"alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.",
|
||||||
|
"alpha_num" => "The :attribute may only contain letters and numbers.",
|
||||||
|
"between" => array(
|
||||||
|
"numeric" => "The :attribute must be between :min - :max.",
|
||||||
|
"file" => "The :attribute must be between :min - :max kilobytes.",
|
||||||
|
"string" => "The :attribute must be between :min - :max characters.",
|
||||||
|
),
|
||||||
|
"confirmed" => "The :attribute confirmation does not match.",
|
||||||
|
"email" => "The :attribute format is invalid.",
|
||||||
|
"image" => "The :attribute must be an image.",
|
||||||
|
"in" => "The selected :attribute is invalid.",
|
||||||
|
"integer" => "The :attribute must be an integer.",
|
||||||
|
"max" => array(
|
||||||
|
"numeric" => "The :attribute must be less than :max.",
|
||||||
|
"file" => "The :attribute must be less than :max kilobytes.",
|
||||||
|
"string" => "The :attribute must be less than :max characters.",
|
||||||
|
),
|
||||||
|
"mimes" => "The :attribute must be a file of type: :values.",
|
||||||
|
"min" => array(
|
||||||
|
"numeric" => "The :attribute must be at least :min.",
|
||||||
|
"file" => "The :attribute must be at least :min kilobytes.",
|
||||||
|
"string" => "The :attribute must be at least :min characters.",
|
||||||
|
),
|
||||||
|
"not_in" => "The selected :attribute is invalid.",
|
||||||
|
"numeric" => "The :attribute must be a number.",
|
||||||
|
"required" => "The :attribute field is required.",
|
||||||
|
"size" => array(
|
||||||
|
"numeric" => "The :attribute must be :size.",
|
||||||
|
"file" => "The :attribute must be :size kilobyte.",
|
||||||
|
"string" => "The :attribute must be :size characters.",
|
||||||
|
),
|
||||||
|
"unique" => "The :attribute has already been taken.",
|
||||||
|
"url" => "The :attribute format is invalid.",
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,87 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Simply tell Laravel the HTTP verbs and URIs it should respond to. It is a
|
||||||
|
| breeze to setup your applications using Laravel's RESTful routing, and it
|
||||||
|
| is perfectly suited for building both large applications and simple APIs.
|
||||||
|
| Enjoy the fresh air and simplicity of the framework.
|
||||||
|
|
|
||||||
|
| Let's respond to a simple GET request to http://example.com/hello:
|
||||||
|
|
|
||||||
|
| Router::register('GET /hello', function()
|
||||||
|
| {
|
||||||
|
| return 'Hello World!';
|
||||||
|
| });
|
||||||
|
|
|
||||||
|
| You can even respond to more than one URI:
|
||||||
|
|
|
||||||
|
| Router::register('GET /hello, GET /world', function()
|
||||||
|
| {
|
||||||
|
| return 'Hello World!';
|
||||||
|
| });
|
||||||
|
|
|
||||||
|
| It's easy to allow URI wildcards using (:num) or (:any):
|
||||||
|
|
|
||||||
|
| Router::register('GET /hello/(:any)', function($name)
|
||||||
|
| {
|
||||||
|
| return "Welcome, $name.";
|
||||||
|
| });
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Router::register(array('GET /', 'GET /home'), function()
|
||||||
|
{
|
||||||
|
return View::make('home.index');
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Route Filters
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Filters provide a convenient method for attaching functionality to your
|
||||||
|
| routes. The built-in "before" and "after" filters are called before and
|
||||||
|
| after every request to your application, and you may even create other
|
||||||
|
| filters that can be attached to individual routes.
|
||||||
|
|
|
||||||
|
| Let's walk through an example...
|
||||||
|
|
|
||||||
|
| First, define a filter:
|
||||||
|
|
|
||||||
|
| Filter::register('filter', function()
|
||||||
|
| {
|
||||||
|
| return 'Filtered!';
|
||||||
|
| });
|
||||||
|
|
|
||||||
|
| Next, attach the filter to a route:
|
||||||
|
|
|
||||||
|
| Router::register('GET /', array('before' => 'filter', function()
|
||||||
|
| {
|
||||||
|
| return 'Hello World!';
|
||||||
|
| }));
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Filter::register('before', function()
|
||||||
|
{
|
||||||
|
// Do stuff before every request to your application...
|
||||||
|
});
|
||||||
|
|
||||||
|
Filter::register('after', function()
|
||||||
|
{
|
||||||
|
// Do stuff after every request to your application...
|
||||||
|
});
|
||||||
|
|
||||||
|
Filter::register('csrf', function()
|
||||||
|
{
|
||||||
|
if (Request::forged()) return Response::error('500');
|
||||||
|
});
|
||||||
|
|
||||||
|
Filter::register('auth', function()
|
||||||
|
{
|
||||||
|
if (Auth::guest()) return Redirect::to('login');
|
||||||
|
});
|
|
@ -0,0 +1,103 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<title>Error 404 - Not Found</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
@import url(http://fonts.googleapis.com/css?family=Ubuntu);
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: #eee;
|
||||||
|
color: #6d6d6d;
|
||||||
|
font: normal normal normal 14px/1.253 Ubuntu, sans-serif;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
min-width: 800px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
background-clip: padding-box;
|
||||||
|
background-color: #fff;
|
||||||
|
border:1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 0 10px #cdcdcd;
|
||||||
|
margin: 25px auto 0;
|
||||||
|
padding: 30px;
|
||||||
|
width: 700px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h1 {
|
||||||
|
font-family: 'Ubuntu';
|
||||||
|
font-size: 38px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h2 {
|
||||||
|
color: #999;
|
||||||
|
font-size: 18px;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
color: #999;
|
||||||
|
margin-top: 24px;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main p {
|
||||||
|
line-height: 25px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main pre {
|
||||||
|
background-color: #333;
|
||||||
|
border-left: 1px solid #d8d8d8;
|
||||||
|
border-top: 1px solid #d8d8d8;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main ul {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main li {
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="main">
|
||||||
|
<?php $messages = array('We need a map.', 'I think we\'re lost.', 'We took a wrong turn.'); ?>
|
||||||
|
|
||||||
|
<h1><?php echo $messages[mt_rand(0, 2)]; ?></h1>
|
||||||
|
|
||||||
|
<h2>Server Error: 404 (Not Found)</h2>
|
||||||
|
|
||||||
|
<h3>What does this mean?</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We couldn't find the page you requested on our servers. We're really sorry
|
||||||
|
about that. It's our fault, not yours. We'll work hard to get this page
|
||||||
|
back online as soon as possible.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Perhaps you would like to go to our <?php echo HTML::link('/', 'home page'); ?>?
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,103 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<title>Error 500 - Internal Server Error</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
@import url(http://fonts.googleapis.com/css?family=Ubuntu);
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: #eee;
|
||||||
|
color: #6d6d6d;
|
||||||
|
font: normal normal normal 14px/1.253 Ubuntu, sans-serif;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
min-width: 800px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
background-clip: padding-box;
|
||||||
|
background-color: #fff;
|
||||||
|
border:1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 0 10px #cdcdcd;
|
||||||
|
margin: 25px auto 0;
|
||||||
|
padding: 30px;
|
||||||
|
width: 700px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h1 {
|
||||||
|
font-family: 'Ubuntu';
|
||||||
|
font-size: 38px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h2 {
|
||||||
|
color: #999;
|
||||||
|
font-size: 18px;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
color: #999;
|
||||||
|
margin-top: 24px;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main p {
|
||||||
|
line-height: 25px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main pre {
|
||||||
|
background-color: #333;
|
||||||
|
border-left: 1px solid #d8d8d8;
|
||||||
|
border-top: 1px solid #d8d8d8;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main ul {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main li {
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="main">
|
||||||
|
<?php $messages = array('Ouch.', 'Oh no!', 'Whoops!'); ?>
|
||||||
|
|
||||||
|
<h1><?php echo $messages[mt_rand(0, 2)]; ?></h1>
|
||||||
|
|
||||||
|
<h2>Server Error: 500 (Internal Server Error)</h2>
|
||||||
|
|
||||||
|
<h3>What does this mean?</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Something went wrong on our servers while we were processing your request.
|
||||||
|
We're really sorry about this, and will work hard to get this resolved as
|
||||||
|
soon as possible.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Perhaps you would like to go to our <?php echo HTML::link('/', 'home page'); ?>?
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,122 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<title>Laravel - A Framework For Web Artisans</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
@import url(http://fonts.googleapis.com/css?family=Ubuntu);
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: #eee;
|
||||||
|
color: #6d6d6d;
|
||||||
|
font: normal normal normal 14px/1.253 Ubuntu, sans-serif;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
min-width: 800px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
background-clip: padding-box;
|
||||||
|
background-color: #fff;
|
||||||
|
border:1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-shadow: 0 0 10px #cdcdcd;
|
||||||
|
margin: 25px auto 0;
|
||||||
|
padding: 30px;
|
||||||
|
width: 700px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h1 {
|
||||||
|
font-family: 'Ubuntu';
|
||||||
|
font-size: 38px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h2 {
|
||||||
|
color: #999;
|
||||||
|
font-size: 18px;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
color: #999;
|
||||||
|
margin-top: 24px;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h3 {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main p {
|
||||||
|
line-height: 25px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main pre {
|
||||||
|
background-color: #333;
|
||||||
|
border-left: 1px solid #d8d8d8;
|
||||||
|
border-top: 1px solid #d8d8d8;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main ul {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main li {
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="main">
|
||||||
|
<h1>Welcome To Laravel</h1>
|
||||||
|
|
||||||
|
<h2>A Framework For Web Artisans</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You have successfully installed the Laravel framework. Laravel is a simple framework
|
||||||
|
that helps web artisans create beautiful, creative applications using elegant, expressive
|
||||||
|
syntax. You'll love using it.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Learn the terrain.</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You've landed yourself on our default home page. The route that
|
||||||
|
is generating this page lives at:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre><code>APP_PATH/routes.php</code></pre>
|
||||||
|
|
||||||
|
<p>And the view sitting before you can be found at:</p>
|
||||||
|
|
||||||
|
<pre><code>APP_PATH/views/home/index.php</code></pre>
|
||||||
|
|
||||||
|
<h3>Create something beautiful.</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Now that you're up and running, it's time to start creating!
|
||||||
|
Here are some links to help you get started:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://laravel.com">Official Website</a></li>
|
||||||
|
<li><a href="http://forums.laravel.com">Laravel Forums</a></li>
|
||||||
|
<li><a href="http://github.com/laravel/laravel">GitHub Repository</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue