目录
1、安装composer
2、创建你的laravel项目
3、安装Laravel-Administrator包 
4、配置包加载
5、生成Laravel-Administrator配置
6、配置Laravel-Administrator例子
7、配置你的网站
8、开始浏览你的网站
首页 php教程 php手册 laravel administrator 一款通用的后台插件(PHP框架扩展)

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

Jun 06, 2016 pm 07:47 PM
administrator laravel 后台 实际的

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

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

1、安装composer

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

curl -s http:<span>//</span><span>getcomposer.org/installer| php && mv composer.phar /usr/sbin/composer</span>
登录后复制

2、创建你的laravel项目

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

composer create-project laravel/laravel your-project-name <span>#</span><span>记得改成你的项目名称</span>
登录后复制

3、安装Laravel-Administrator包 

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

  以下为最终的配置:

<span>{
    </span>"name": "laravel/laravel"<span>,
    </span>"description": "The Laravel Framework."<span>,
    </span>"keywords": ["framework", "laravel"<span>],
    </span>"license": "MIT"<span>,
    </span>"require"<span>: {
        </span>"laravel/framework": "4.2.*"<span>,
        </span>"frozennode/administrator": "dev-master"<span>
    },
    </span>"autoload"<span>: {
        </span>"classmap"<span>: [
            </span>"app/commands"<span>,
            </span>"app/controllers"<span>,
            </span>"app/models"<span>,
            </span>"app/database/migrations"<span>,
            </span>"app/database/seeds"<span>,
            </span>"app/tests/TestCase.php"<span>
        ]
    },
    </span>"scripts"<span>: {
        </span>"post-install-cmd"<span>: [
            </span>"php artisan clear-compiled"<span>,
            </span>"php artisan optimize"<span>
        ],
        </span>"post-update-cmd"<span>: [
            </span>"php artisan clear-compiled"<span>,
            </span>"php artisan optimize"<span>
        ],
        </span>"post-create-project-cmd"<span>: [
            </span>"php artisan key:generate"<span>
        ]
    },
    </span>"config"<span>: {
        </span>"preferred-install": "dist"<span>
    },
    </span>"minimum-stability": "stable"<span>
}</span>
登录后复制

4、配置包加载

vim app/config/app.php <span>#</span><span>找到数组providers,并在最后加入'Frozennode\Administrator\AdministratorServiceProvider',</span>
登录后复制

  以下为最终的配置:

<span>php

</span><span>return</span> <span>array</span><span>(

    </span><span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'debug' => <span>true</span>,

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

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

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'timezone' => 'UTC',

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'locale' => 'en',

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'fallback_locale' => 'en',

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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!
    |
    </span><span>*/</span>

    'key' => '4g1RkrnrYg1UdkEHxUV3p8UBAlnTmWiZ',

    'cipher' => MCRYPT_RIJNDAEL_128,

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'providers' => <span>array</span><span>(

        </span>'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',<span>

    )</span>,

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

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

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'aliases' => <span>array</span><span>(

        </span>'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',<span>

    )</span>,<span>

);</span>
登录后复制

5、生成Laravel-Administrator配置

  php artisan config:publish frozennode/administrator <span>#</span><span>生成配置</span>
  vim app/config/packages/frozennode/administrator/administrator.php <span>#</span><span>你可以编辑此文件配置后台参数</span>
登录后复制

6、配置Laravel-Administrator例子

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

  cd ../ <span>#</span><span>退到工作目录</span>
  git clone https://github.com/FrozenNode/Laravel-Administrator <span>#</span><span>下载插件</span>
  cp Laravel-Administrator/examples/app/config/packages/frozennode/administrator/administrator.php your-project-name/app/config/packages/frozennode/administrator/<span>
  cp Laravel</span>-Administrator/examples/app/config/administrator your-project-name/app/config/ -<span>r
  cp Laravel</span>-Administrator/examples/app/models your-project-name/app/ -<span>r
  cp Laravel</span>-Administrator/examples/app/database/migrations/* your-project-name/app/database/migrations/<span>
  mkdir </span>-p your-project-name/public/packages/frozennode/<span>administrator
  cp Laravel</span>-Administrator/public/* your-project-name/public/packages/frozennode/administrator/ -<span>r<br></span>
登录后复制

  <span>#</span><span>创建数据库</span>
  <span>#</span><span>首先根据你数据库的配置创建出你需要的数据,这里以mysql为例</span>
  cd your-project-name <span>#</span><span> 进入你的项目目录</span>
  vim app/config/database.php
登录后复制

  以下为我的配置:

<span>php

</span><span>return</span> <span>array</span><span>(

    </span><span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'fetch' => PDO::FETCH_CLASS,

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'default' => 'mysql',

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'connections' => <span>array</span><span>(

        </span>'sqlite' => <span>array</span><span>(
            </span>'driver'   => 'sqlite',
            'database' => __DIR__.'/../database/production.sqlite',
            'prefix'   => '',<span>
        )</span>,

        'mysql' => <span>array</span><span>(
            </span>'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'pf_admindb',
            'username'  => 'root',
            'password'  => 'mysql',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',<span>
        )</span>,

        'pgsql' => <span>array</span><span>(
            </span>'driver'   => 'pgsql',
            'host'     => 'localhost',
            'database' => 'forge',
            'username' => 'forge',
            'password' => '',
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',<span>
        )</span>,

        'sqlsrv' => <span>array</span><span>(
            </span>'driver'   => 'sqlsrv',
            'host'     => 'localhost',
            'database' => 'database',
            'username' => 'root',
            'password' => '',
            'prefix'   => '',<span>
        )</span>,<span>

    )</span>,

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'migrations' => 'migrations',

    <span>/*</span><span>
    |--------------------------------------------------------------------------
    | 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.
    |
    </span><span>*/</span>

    'redis' => <span>array</span><span>(

        </span>'cluster' => <span>false</span>,

        'default' => <span>array</span><span>(
            </span>'host'     => '127.0.0.1',
            'port'     => 6379,
            'database' => 0,<span>
        )</span>,<span>

    )</span>,<span>

);</span>
登录后复制

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

  php artisan migrate:install && php artisan migrate <span>#</span><span> 创建数据库及表</span>
  <span>#</span><span>以下是创建生成数据库表的一些命令,了解即可</span>
  <span>#</span><span>php artisan migrate:make create_directors_table</span>
  <span>#</span><span>php artisan migrate:make create_films_table</span>
  <span>#</span><span>php artisan migrate:make create_box_office</span>
  <span>#</span><span>php artisan migrate:make create_actors</span>
  <span>#</span><span>php artisan migrate:make create_actors_films</span>
  <span>#</span><span>php artisan migrate:make create_theaters</span>
  <span>#</span><span>php artisan migrate:make create_films_theaters</span>
登录后复制

7、配置你的网站

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

<span>  server {
    listen </span>80<span>;
    server_name zf2.local.com; </span><span>#</span><span>域名</span>
    root /data/www/zf2/public; <span>#</span><span>你的网站目录,即项目目录记得加上public,否则访问方法不同</span>
<span>    index index.php;
    </span><span>#</span><span>charset utf-8;</span>
    location ~* \.(js|ico|gif|jpg|png|css|jpeg|swf)$<span> {
      access_log off;
      expires 2d;
    }

    location </span>/<span> {
      </span><span>if</span> (!<span>-f</span> <span>$request_filename</span><span>) {
        rewrite ^(.</span>+)$ /index.php?<span>$1</span>&<span> last;
      }
    }
  
    location ~ \.php</span>$<span> {
      </span><span>#</span><span>root /var/www/html/public;</span>
      fastcgi_pass 127.0.0.1:9000; <span>#</span><span>如果你的php-fpm的监听端口不是这个,请设置</span>
<span>      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME </span><span>$document_root$fastcgi_script_name</span><span>;
      include fastcgi_params;
    }

    </span><span>#</span><span> deny access to .htaccess files, if Apache’s document root</span>
    <span>#</span><span> concurs with nginx’s one</span>
    <span>#
</span>    location ~ /<span>\.ht {
      deny all;
    }
  }</span>
登录后复制

8、开始浏览你的网站

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

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

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

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP 与 Flutter 的比较:移动端开发的最佳选择 PHP 与 Flutter 的比较:移动端开发的最佳选择 May 06, 2024 pm 10:45 PM

PHP和Flutter是移动端开发的流行技术。Flutter胜在跨平台能力、性能和用户界面,适合需要高性能、跨平台和自定义UI的应用程序。PHP则适用于性能较低、不跨平台的服务器端应用程序。

PHP中如何使用对象-关系映射(ORM)简化数据库操作? PHP中如何使用对象-关系映射(ORM)简化数据库操作? May 07, 2024 am 08:39 AM

使用ORM可简化PHP中的数据库操作,它将对象映射到关系数据库中。Laravel中的EloquentORM允许使用面向对象的语法与数据库交互,可通过定义模型类、使用Eloquent方法或在实战中构建博客系统等方式来使用ORM。

Laravel - Artisan 命令 Laravel - Artisan 命令 Aug 27, 2024 am 10:51 AM

Laravel - Artisan 命令 - Laravel 5.7 提供了处理和测试新命令的新方法。它包括测试 artisan 命令的新功能,下面提到了演示?

PHP 单元测试工具的优缺点分析 PHP 单元测试工具的优缺点分析 May 06, 2024 pm 10:51 PM

PHP单元测试工具分析:PHPUnit:适用于大型项目,提供全面功能,易于安装,但可能冗长且速度较慢。PHPUnitWrapper:适合小型项目,易于使用,针对Lumen/Laravel优化,但功能受限,不提供代码覆盖率分析,社区支持有限。

Laravel和CodeIgniter的最新版本对比 Laravel和CodeIgniter的最新版本对比 Jun 05, 2024 pm 05:29 PM

Laravel9和CodeIgniter4的最新版本提供了更新的特性和改进。Laravel9采用MVC架构,提供数据库迁移、身份验证和模板引擎等功能。CodeIgniter4采用HMVC架构,提供路由、ORM和缓存。在性能方面,Laravel9的基于服务提供者设计模式和CodeIgniter4的轻量级框架使其具有出色的性能。在实际应用中,Laravel9适用于需要灵活性和强大功能的复杂项目,而CodeIgniter4适用于快速开发和小型应用程序。

Laravel 和 CodeIgniter 中数据处理能力的比较如何? Laravel 和 CodeIgniter 中数据处理能力的比较如何? Jun 01, 2024 pm 01:34 PM

比较Laravel和CodeIgniter的数据处理能力:ORM:Laravel使用EloquentORM,提供类对象关系映射,而CodeIgniter使用ActiveRecord,将数据库模型表示为PHP类的子类。查询构建器:Laravel具有灵活的链式查询API,而CodeIgniter的查询构建器更简单,基于数组。数据验证:Laravel提供了一个Validator类,支持自定义验证规则,而CodeIgniter的验证功能内置较少,需要手动编码自定义规则。实战案例:用户注册示例展示了Lar

PHP 代码单元测试与集成测试 PHP 代码单元测试与集成测试 May 07, 2024 am 08:00 AM

PHP单元和集成测试指南单元测试:关注单个代码单元或函数,使用PHPUnit创建测试用例类进行验证。集成测试:关注多个代码单元协同工作的情况,使用PHPUnit的setUp()和tearDown()方法设置和清理测试环境。实战案例:使用PHPUnit在Laravel应用中进行单元和集成测试,包括创建数据库、启动服务器以及编写测试代码。

Laravel和CodeIgniter:哪种框架更适合大型项目? Laravel和CodeIgniter:哪种框架更适合大型项目? Jun 04, 2024 am 09:09 AM

在选择大型项目框架时,Laravel和CodeIgniter各有优势。Laravel针对企业级应用程序而设计,提供模块化设计、依赖项注入和强大的功能集。CodeIgniter是一款轻量级框架,更适合小型到中型项目,强调速度和易用性。对于具有复杂需求和大量用户的大型项目,Laravel的强大功能和可扩展性更合适。而对于简单项目或资源有限的情况下,CodeIgniter的轻量级和快速开发能力则更为理想。

See all articles