lavaral5:实验楼构建大型网站(未完)

2024-01-11 03:32

本文主要是介绍lavaral5:实验楼构建大型网站(未完),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#进入网站根目录创建项目目录

#clone lavarel 库

composer create-project laravel/laravel sylblog

(创建4.2版本是:composer create-project laravel/laravel 4.2 sylblog)

composer 命令参照:segmentfault.com/a/1190000000355928


#修改storage 权限

cd sylblog/
chmod -R 777 storage/

#配置本地二级域名

ngnix 配置域名和二级域名

注意:root 目录是public 如:         root /usr/share/nginx/html/sylblog/public;


#打开:sylblog.test.com 

显示  logo 即是成功!


laravel 已经集成genarate 到artisan,不需要再安装genarate插件


#配置数据库

nano .env

修改数据库名sylblog,和数据库帐号密码


#使用phpmyadmin 新建 sylblog数据库 编码为utf8-genaral-ci


#创建数据库迁移文件

laravel 自带autor 系统,为了学习该教程:删掉默认User 模型,app/controller/author,app/User,database/migrations/ 里两张迁移文件


#重新创建用户模型

php artisan make:model User

这样创建了 app/User.php 和 XXX.users.php


#修改迁移文件


public function up(){Schema::create('users', function(Blueprint $table){$table->increments('id');$table->string('email')->nullable();$table->string('password')->nullable();$table->string('nickname')->nullable();$table->string('is_admin')->default(0);$table->string('block')->default(0);$table->timestamps();});}
 
 

 nullable(),default 是laravel 的特有的方法 

文档:laravel-china.org/docs/5.0/schema

#执行数据迁移

php artisan migrate  

这样数据库创建了两张表 users 和migrations 

migrate 相关命令

    • migrate:reset
      回滚所有的迁移(会删掉所有表和数据)
    • migrate:refresh
      artisan migrate:refresh任务将删除数据库、 重新创建它并将加载当前架构。这是一个方便快捷方式去运行重置并随后重新运行所有迁移。
    • migrate:make
      artisan migrate:make命令告诉Laravel 来生成一个迁移文件骨架 (这是实际上是一个PHP 文件) ,存放到app/database/migrations文件夹中。然后,您可以编辑此文件来充实您的表/索引定义。然后,artisanmigrate命令运行时,artisan会查询此文件来生成SQL DDL 的实际代码。

www.cnblogs.com/huangbx/p/Laravel_3.html

blog.ninja911.com/blog-show-blog_id-75.html


#填充seeder

在database/seeds 下面创建 UserTabelSeeder.php 文件

编辑

use Illuminate\Database\Seeder;
use App\User;class UserTableSeeder extends Seeder{public function run(){DB::table('users')->delete();User::create(['email'    => 'admin@shiyanlou.com','password' => Hash::make(''),'nickname' => 'admin','is_admin' => 1,]);}
}

#修改同目录下的DatabaseSeeder.php

添加

$this->call('UserTableSeeder');

#执行填充

composer dump-autoload
php artisan db:seed


composer dump-autoload 自动加载
即添加一条数据

#创建视图模板

在resource/views 创建模板文件

_layouts/default.blade.php

_layouts/footer.blade.php

_layouts/nav.blade.php

index.blade.php


#修改default.blade.php

<!DOCTYPE html>
<html>
<head lang="zh"><meta charset="UTF-8"/><title>ShiYanLou Blog</title><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport"content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"><meta name="format-detection" content="telephone=no"/><meta name="renderer" content="webkit"/><meta http-equiv="Cache-Control" content="no-siteapp"/><link rel="alternate icon" type="image/x-icon" href="{{ URL::asset('i/favicon.ico') }}"/><link rel="stylesheet" href="//cdn.amazeui.org/amazeui/2.1.0/css/amazeui.min.css"/>
{!! Html::style{'custom.css'} !!}
</head>
<body>
<header class="am-topbar am-topbar-fixed-top"><div class="am-container"><h1 class="am-topbar-brand"><a href="/">ShiYanLou Blog</a></h1>@include('_layouts.nav')</div>
</header>
@yield('main')@include('_layouts.footer')<script src="//cdn.bootcss.com/jquery/2.1.3/jquery.min.js"></script>
<script src="//cdn.amazeui.org/amazeui/2.1.0/js/amazeui.min.js"></script>
</body>
</html>

URL:asset('i/favicon.ico'),  {{ HTML::style('css/custom.css') }},    @include('_layouts.nav'), @yield('main')

{{HTML::style('css/custom.css')}}在laravel 5中以移除  参照laravel 添加html 和form 标签

#修改nav.blade.php

<button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-secondary am-show-sm-only"data-am-collapse="{target: '#collapse-head'}"><span class="am-sr-only">nav switch</span><span class="am-icon-bars"></span></button>
<div class="am-collapse am-topbar-collapse" id="collapse-head"><div class="am-topbar-right"><a href="#" class="am-btn am-btn-primary am-topbar-btn am-btn-sm topbar-link-btn"><span class="am-icon-user"></span> Login</a></div>
</div>

#修改footer.blade.php

<footer class="footer"><p>© 2015 By <a href="#" target="_blank">www.shiyanlou.com</a></p>
</footer>

#修改index.blade.php

@extends('_layouts.default')@section('main')
<div class="am-g am-g-fixed blog-g-fixed"><div class="am-u-sm-12"><h1>Welcome to ShiYanLou!</h1></div>
</div>
@endsection
@extends('_layouts.default'),@section('main'),@endsection


#在pubic 下新建 i/favicon.ico,css/custom.css


#修改custiom.css

.footer p {color: #7f8c8d;margin: 0;padding: 15px 0;text-align: center;background: #2d3e50;}
.topbar-link-btn {color: #fff !important;}

#修改路由 app/Http/routes.php

//Route::get('/', 'WelcomeController@index');//Route::get('home', 'HomeController@index');Route::get('/',function(){return View::make('index');
});

访问 sylblog.test.com/index.php 则可成功访问


#修改导航链接 _layout/nav.blade.php

<a href="{{ URL::to('login') }}" class="am-btn am-btn-primary am-topbar-btn am-btn-sm topbar-link-btn"><span class="am-icon-user"></span> Login</a>

#创建登录视图 login.blade.php

@extends('_layouts.default')@section('main')<div class="am-g am-g-fixed"><div class="am-u-lg-6 am-u-md-8"><br/>@if (Session::has('message'))<div class="am-alert am-alert-danger" data-am-alert><p>{{ Session::get('message') }}</p></div>@endif@if ($errors->has())<div class="am-alert am-alert-danger" data-am-alert><p>{{ $errors->first() }}</p></div>@endif{!! Form::open(array('url' => 'login', 'class' => 'am-form')) !!}{!! Form::label('email', 'E-mail:') !!}{!! Form::email('email', Input::old('email')) !!}<br/>{!! Form::label('password', 'Password:') !!}{!! Form::password('password') !!}<br/><label for="remember_me"><input id="remember_me" name="remember_me" type="checkbox" value="1">Remember Me</label><br/><div class="am-cf">{!! Form::submit('Login', array('class' => 'am-btn am-btn-primary am-btn-sm am-fl')) !!}</div>{!! Form::close() !!}<br/></div></div>
@stop

?有问题
#修改路由 app/Http/routes.php


<pre name="code" class="php">Route::post('login', array('before' => 'csrf', function(){$rules = array('email'       => 'required|email','password'    => 'required|min:6','remember_me' => 'boolean',);$validator = Validator::make(Input::all(), $rules);if ($validator->passes()){if (Auth::attempt(array('email'    => Input::get('email'),'password' => Input::get('password'),'block'    => 0), (boolean) Input::get('remember_me'))){return Redirect::intended('home');} else {return Redirect::to('login')->withInput()->with('message', 'E-mail or password error');}} else {return Redirect::to('login')->withInput()->withErrors($validator);}
}));Route::get('home', array('before' => 'auth', function(){return View::make('home');
}));


 #退出 

Route::get('logout', array('before' => 'auth', function(){Auth::logout();return Redirect::to('/');
}));


这篇关于lavaral5:实验楼构建大型网站(未完)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593022

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简