php后台插件,laravel administrator 一款通用的后台插件(PHP框架扩展)

前几天我看了一下zend framework 2的一些官方文档,也找了一些例子,可惜所有的资料少之甚少。于是我就开始去找这国外用的比较流行的PHP框架laravel,希望能够找到其合适的例子,而且我本就打算写一套后台管理系统,却正好发现了其扩展的包。Laravel-Adminis

前几天我看了一下zend framework 2的一些官方文档,也找了一些例子,可惜所有的资料少之甚少。于是我就开始去找这国外用的比较流行的PHP框架laravel,希望能够找到其合适的例子,而且我本就打算写一套后台管理系统,却正好发现了其扩展的包。Laravel-Administrator后台扩展包,提供了基本上通用的界面以及数据操作的例子,我们再也不需要自己去找模板了,特别在这个html5开始盛行的时候,一步步苦苦摸索实在太费时费力。做过后台的朋友不妨看看,这可以使你的工作更快快速和方便。

1、安装composer

自从vim有统一的插件管理工具pathogen后,估摸着PHP的爱好者才想出了这么一个主意,统一的(依赖)管理器,开源插件进行统一管理也的确势在必行,不说废话了,首先看看怎么安装这个东西吧。

curl -s http://getcomposer.org/installer| php && mv composer.phar /usr/sbin/composer

2、创建你的laravel项目

一条命令就帮你搭建好了基本的架构,是不是很方便呢?

composer create-project laravel/laravel your-project-name #记得改成你的项目名称

3、安装Laravel-Administrator包

cd your-project-name && vim composer.json #进入项目目录并编辑composer.json,把"frozennode/administrator": "dev-master"加入到"require"下

以下为最终的配置:

{"name": "laravel/laravel","description": "The Laravel Framework.","keywords": ["framework", "laravel"],"license": "MIT","require": {"laravel/framework": "4.2.*","frozennode/administrator": "dev-master"},"autoload": {"classmap": ["app/commands","app/controllers","app/models","app/database/migrations","app/database/seeds","app/tests/TestCase.php"]

},"scripts": {"post-install-cmd": ["php artisan clear-compiled","php artisan optimize"],"post-update-cmd": ["php artisan clear-compiled","php artisan optimize"],"post-create-project-cmd": ["php artisan key:generate"]

},"config": {"preferred-install": "dist"},"minimum-stability": "stable"}

4、配置包加载

vim app/config/app.php #找到数组providers,并在最后加入'Frozennode\Administrator\AdministratorServiceProvider',

以下为最终的配置:

phpreturn array(/*|--------------------------------------------------------------------------

| Application Debug Mode

|--------------------------------------------------------------------------

|

| When your application is in debug mode, detailed error messages with

| stack traces will be shown on every error that occurs within your

| application. If disabled, a simple generic error page is shown.

|*/

'debug' => true,

/*|--------------------------------------------------------------------------

| Application URL

|--------------------------------------------------------------------------

|

| This URL is used by the console to properly generate URLs when using

| the Artisan command line tool. You should set this to the root of

| your application so that it is used when running Artisan tasks.

|*/

'url' => 'http://pfadmins.local.com',

/*|--------------------------------------------------------------------------

| Application Timezone

|--------------------------------------------------------------------------

|

| Here you may specify the default timezone for your application, which

| will be used by the PHP date and date-time functions. We have gone

| ahead and set this to a sensible default for you out of the box.

|*/

'timezone' => 'UTC',

/*|--------------------------------------------------------------------------

| Application Locale Configuration

|--------------------------------------------------------------------------

|

| The application locale determines the default locale that will be used

| by the translation service provider. You are free to set this value

| to any of the locales which will be supported by the application.

|*/

'locale' => 'en',

/*|--------------------------------------------------------------------------

| Application Fallback Locale

|--------------------------------------------------------------------------

|

| The fallback locale determines the locale to use when the current one

| is not available. You may change the value to correspond to any of

| the language folders that are provided through your application.

|*/

'fallback_locale' => 'en',

/*|--------------------------------------------------------------------------

| Encryption Key

|--------------------------------------------------------------------------

|

| This key is used by the Illuminate encrypter service and should be set

| to a random, 32 character string, otherwise these encrypted strings

| will not be safe. Please do this before deploying an application!

|*/

'key' => '4g1RkrnrYg1UdkEHxUV3p8UBAlnTmWiZ',

'cipher' => MCRYPT_RIJNDAEL_128,

/*|--------------------------------------------------------------------------

| Autoloaded Service Providers

|--------------------------------------------------------------------------

|

| The service providers listed here will be automatically loaded on the

| request to your application. Feel free to add your own services to

| this array to grant expanded functionality to your applications.

|*/

'providers' => array('Illuminate\Foundation\Providers\ArtisanServiceProvider',

'Illuminate\Auth\AuthServiceProvider',

'Illuminate\Cache\CacheServiceProvider',

'Illuminate\Session\CommandsServiceProvider',

'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',

'Illuminate\Routing\ControllerServiceProvider',

'Illuminate\Cookie\CookieServiceProvider',

'Illuminate\Database\DatabaseServiceProvider',

'Illuminate\Encryption\EncryptionServiceProvider',

'Illuminate\Filesystem\FilesystemServiceProvider',

'Illuminate\Hashing\HashServiceProvider',

'Illuminate\Html\HtmlServiceProvider',

'Illuminate\Log\LogServiceProvider',

'Illuminate\Mail\MailServiceProvider',

'Illuminate\Database\MigrationServiceProvider',

'Illuminate\Pagination\PaginationServiceProvider',

'Illuminate\Queue\QueueServiceProvider',

'Illuminate\Redis\RedisServiceProvider',

'Illuminate\Remote\RemoteServiceProvider',

'Illuminate\Auth\Reminders\ReminderServiceProvider',

'Illuminate\Database\SeedServiceProvider',

'Illuminate\Session\SessionServiceProvider',

'Illuminate\Translation\TranslationServiceProvider',

'Illuminate\Validation\ValidationServiceProvider',

'Illuminate\View\ViewServiceProvider',

'Illuminate\Workbench\WorkbenchServiceProvider',

'Frozennode\Administrator\AdministratorServiceProvider',),

/*|--------------------------------------------------------------------------

| Service Provider Manifest

|--------------------------------------------------------------------------

|

| The service provider manifest is used by Laravel to lazy load service

| providers which are not needed for each request, as well to keep a

| list of all of the services. Here, you may set its storage spot.

|*/

'manifest' => storage_path().'/meta',

/*|--------------------------------------------------------------------------

| Class Aliases

|--------------------------------------------------------------------------

|

| This array of class aliases will be registered when this application

| is started. However, feel free to register as many as you wish as

| the aliases are "lazy" loaded so they don't hinder performance.

|*/

'aliases' => array('App' => 'Illuminate\Support\Facades\App',

'Artisan' => 'Illuminate\Support\Facades\Artisan',

'Auth' => 'Illuminate\Support\Facades\Auth',

'Blade' => 'Illuminate\Support\Facades\Blade',

'Cache' => 'Illuminate\Support\Facades\Cache',

'ClassLoader' => 'Illuminate\Support\ClassLoader',

'Config' => 'Illuminate\Support\Facades\Config',

'Controller' => 'Illuminate\Routing\Controller',

'Cookie' => 'Illuminate\Support\Facades\Cookie',

'Crypt' => 'Illuminate\Support\Facades\Crypt',

'DB' => 'Illuminate\Support\Facades\DB',

'Eloquent' => 'Illuminate\Database\Eloquent\Model',

'Event' => 'Illuminate\Support\Facades\Event',

'File' => 'Illuminate\Support\Facades\File',

'Form' => 'Illuminate\Support\Facades\Form',

'Hash' => 'Illuminate\Support\Facades\Hash',

'HTML' => 'Illuminate\Support\Facades\HTML',

'Input' => 'Illuminate\Support\Facades\Input',

'Lang' => 'Illuminate\Support\Facades\Lang',

'Log' => 'Illuminate\Support\Facades\Log',

'Mail' => 'Illuminate\Support\Facades\Mail',

'Paginator' => 'Illuminate\Support\Facades\Paginator',

'Password' => 'Illuminate\Support\Facades\Password',

'Queue' => 'Illuminate\Support\Facades\Queue',

'Redirect' => 'Illuminate\Support\Facades\Redirect',

'Redis' => 'Illuminate\Support\Facades\Redis',

'Request' => 'Illuminate\Support\Facades\Request',

'Response' => 'Illuminate\Support\Facades\Response',

'Route' => 'Illuminate\Support\Facades\Route',

'Schema' => 'Illuminate\Support\Facades\Schema',

'Seeder' => 'Illuminate\Database\Seeder',

'Session' => 'Illuminate\Support\Facades\Session',

'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait',

'SSH' => 'Illuminate\Support\Facades\SSH',

'Str' => 'Illuminate\Support\Str',

'URL' => 'Illuminate\Support\Facades\URL',

'Validator' => 'Illuminate\Support\Facades\Validator',

'View' => 'Illuminate\Support\Facades\View',),);

5、生成Laravel-Administrator配置

php artisan config:publish frozennode/administrator #生成配置

vim app/config/packages/frozennode/administrator/administrator.php #你可以编辑此文件配置后台参数

6、配置Laravel-Administrator例子

如果没有示例我们也不知道如何开始,那么就让我们看看这个插件包所给出的例子吧。

cd ../ #退到工作目录

git clone https://github.com/FrozenNode/Laravel-Administrator #下载插件

cp Laravel-Administrator/examples/app/config/packages/frozennode/administrator/administrator.php your-project-name/app/config/packages/frozennode/administrator/cp Laravel-Administrator/examples/app/config/administrator your-project-name/app/config/ -r

cp Laravel-Administrator/examples/app/models your-project-name/app/ -r

cp Laravel-Administrator/examples/app/database/migrations/* your-project-name/app/database/migrations/mkdir-p your-project-name/public/packages/frozennode/administrator

cp Laravel-Administrator/public/* your-project-name/public/packages/frozennode/administrator/ -r

#创建数据库

#首先根据你数据库的配置创建出你需要的数据,这里以mysql为例

cd your-project-name #进入你的项目目录

vim app/config/database.php

以下为我的配置:

phpreturn array(/*|--------------------------------------------------------------------------

| PDO Fetch Style

|--------------------------------------------------------------------------

|

| By default, database results will be returned as instances of the PHP

| stdClass object; however, you may desire to retrieve records in an

| array format for simplicity. Here you can tweak the fetch style.

|*/

'fetch' => PDO::FETCH_CLASS,

/*|--------------------------------------------------------------------------

| Default Database Connection Name

|--------------------------------------------------------------------------

|

| Here you may specify which of the database connections below you wish

| to use as your default connection for all database work. Of course

| you may use many connections at once using the Database library.

|*/

'default' => 'mysql',

/*|--------------------------------------------------------------------------

| Database Connections

|--------------------------------------------------------------------------

|

| Here are each of the database connections setup for your application.

| Of course, examples of configuring each database platform that is

| supported by Laravel is shown below to make development simple.

|

|

| All database work in Laravel is done through the PHP PDO facilities

| so make sure you have the driver for your particular database of

| choice installed on your machine before you begin development.

|*/

'connections' => array('sqlite' => array('driver' => 'sqlite',

'database' => __DIR__.'/../database/production.sqlite',

'prefix' => '',),

'mysql' => array('driver' => 'mysql',

'host' => 'localhost',

'database' => 'pf_admindb',

'username' => 'root',

'password' => 'mysql',

'charset' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',),

'pgsql' => array('driver' => 'pgsql',

'host' => 'localhost',

'database' => 'forge',

'username' => 'forge',

'password' => '',

'charset' => 'utf8',

'prefix' => '',

'schema' => 'public',),

'sqlsrv' => array('driver' => 'sqlsrv',

'host' => 'localhost',

'database' => 'database',

'username' => 'root',

'password' => '',

'prefix' => '',),),

/*|--------------------------------------------------------------------------

| Migration Repository Table

|--------------------------------------------------------------------------

|

| This table keeps track of all the migrations that have already run for

| your application. Using this information, we can determine which of

| the migrations on disk haven't actually been run in the database.

|*/

'migrations' => 'migrations',

/*|--------------------------------------------------------------------------

| Redis Databases

|--------------------------------------------------------------------------

|

| Redis is an open source, fast, and advanced key-value store that also

| provides a richer set of commands than a typical key-value systems

| such as APC or Memcached. Laravel makes it easy to dig right in.

|*/

'redis' => array('cluster' => false,

'default' => array('host' => '127.0.0.1',

'port' => 6379,

'database' => 0,),),);

保证数据库用户、密码、IP、端口正确的情况下,还需保证你的数据库存在后再执行以下命令。

php artisan migrate:install && php artisan migrate #创建数据库及表

#以下是创建生成数据库表的一些命令,了解即可

#php artisan migrate:make create_directors_table

#php artisan migrate:make create_films_table

#php artisan migrate:make create_box_office

#php artisan migrate:make create_actors

#php artisan migrate:make create_actors_films

#php artisan migrate:make create_theaters

#php artisan migrate:make create_films_theaters

7、配置你的网站

上次说到配置zend framework 2的时候,特别讲到这个配置,而laravel配置是一模一样的。

server {

listen80;

server_name zf2.local.com;#域名

root /data/www/zf2/public; #你的网站目录,即项目目录记得加上public,否则访问方法不同

index index.php;#charset utf-8;

location ~* \.(js|ico|gif|jpg|png|css|jpeg|swf)${

access_log off;

expires 2d;

}

location/{if (!-f $request_filename) {

rewrite ^(.+)$ /index.php?$1&last;

}

}

location ~ \.php${#root /var/www/html/public;

fastcgi_pass 127.0.0.1:9000; #如果你的php-fpm的监听端口不是这个,请设置

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

include fastcgi_params;

}#deny access to .htaccess files, if Apache’s document root

#concurs with nginx’s one

# location ~ /\.ht {

deny all;

}

}

8、开始浏览你的网站

将服务器IP与你的域名绑定,开始浏览,我这里的地址为http://pfadmins.local.com/admin。一定要加上admin,因为后台的url就在admin,当然你可以配置。

test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F338450%2F201409%2F021634598601610.png&refer=http%3A%2F%2Fwww.cnblogs.com%2Flianyue%2Fp%2F3951735.html

test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F338450%2F201409%2F021635148912485.png&refer=http%3A%2F%2Fwww.cnblogs.com%2Flianyue%2Fp%2F3951735.html

test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F338450%2F201409%2F021635259533105.png&refer=http%3A%2F%2Fwww.cnblogs.com%2Flianyue%2Fp%2F3951735.html

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值