laravel administrator 一款通用的后台插件(PHP框架扩展),laravel插件_PHP教程
laravel administrator 一款通用的后台插件(PHP框架扩展),laravel插件
<p>前几天我看了一下zend framework 2的一些官方文档,也找了一些例子,可惜所有的资料少之甚少。于是我就开始去找这国外用的比较流行的PHP框架laravel,希望能够找到其合适的例子,而且我本就打算写一套后台管理系统,却正好发现了其扩展的包。Laravel-Administrator后台扩展包,提供了基本上通用的界面以及数据操作的例子,我们再也不需要自己去找模板了,特别在这个html5开始盛行的时候,一步步苦苦摸索实在太费时费力。做过后台的朋友不妨看看,这可以使你的工作更快快速和方便。</p>
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,当然你可以配置。
280907494 开发群,群里很多搞这个的。
对于新学习的话,tp中文文档全面,毕竟是国人开发的,yii一直都是排行榜很前面的框架,yar是鸟哥的,性能高,你说的第一种我就不知道了,但是我会认为,毕竟你使用的人少,不必纠结与这么多,要是我就选择tp或则yii!

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER

TomakePhPapplicationSfaster, followthesesteps : 1) useopCodeCaching likeOpcachetOrpectipiledScriptBecode.2) MinimizedAtabaseQueriesByUsingQueryCachingandEfficientIndexing.3) leveragephp7 assistorBetterCodeeficiession.4) 구현 전략적 지시

toImprovePhPapplicationSpeed, followthesesteps : 1) enableOpCodeCachingWithApcuTeCeScripteXecutionTime.2) 구현 구현

의존성 주입 (DI)은 명시 적으로 전이적 종속성에 의해 PHP 코드의 테스트 가능성을 크게 향상시킵니다. 1) DI 디퍼 커플 링 클래스 및 특정 구현은 테스트 및 유지 보수를보다 유연하게 만듭니다. 2) 세 가지 유형 중에서, 생성자는 상태를 일관성있게 유지하기 위해 명시 적 표현 의존성을 주입합니다. 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하여 코드 품질 및 개발 효율성을 향상시킵니다.

DatabaseQuesyOptimizationInphPinVolvesVesstoigiestoInsperferferferferformance.1) SelectOnlyNecessaryColumnstoredAtatatransfer.2) useinDexingTeSpeedUpdatarretieval.3) ubstractOrerEresultSoffRequeries.4) UtilizePreDstatements Offeffi


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.