Laravel学习笔记/心路历程(一)

■ PHP(Laravel框架)从入门到入土(杨定远老师)

https://www.bilibili.com/video/BV1Wt411Q72f?p=1

PHP是一种开源脚本语言,主要适用于Web开发领域.
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率高。

▲简介

   https://www.bilibili.com/video/BV1Wt411Q72f?p=3(目录结构)
   简洁,优雅,PHPWeb开发框架
   LTS ->LongTimeSupport长期支持    eg. Beni2.2
   其他PHP框架:Think PHP,CI,Yll... etc.
   官网:https://laravel.com
   框架公共特点:单入口,MVC思想,ORM操作数据库(Object Relations Model):AR模式
   Laravel特点:所有URL访问都必须事先定义好路由规则

▲开发环境配置与要求

   Laravel对运行环境严格要求:
       ·Php版本大于等于5.6.4---phpStudy(建议php7+)
       ·Php扩展(php.ini文件)Open SSL,PDO,Mbstring,Tokenizer
                (httpd.conf文件)modules/mod_deflate.so,mod_rewrite.so
   Notes:①php.exe的目录加入环境变量中,②php -v 版本号与实际运行的版本号一致

▲Composer工具介绍

   为PHP提供的管理依赖工具(软件管家类似)
   官网:https://getcomposer.org/download
   安装时指定你php.exe的路径(尤其注意版本的一致性)
   必须指定为所有用户安装,不能仅仅指定当前用户安装!!←经验教训
   Tips:
       安装过程中会修改php.ini文件,将[;extension=curl]取消注释

▲使用composer部署laravel项目
创建:composer create-project --prefer-dist laravel/laravel myproject ←eg.
composer create-project laravel/laravel=5.4.* --prefer-dist ./
遇到问题:Laravel安装后没有vendor文件夹
解决办法:https://www.cnblogs.com/php08049/p/9378149.html

▲框架的启动方式:

 ·方法一:#php artisan serve(这种启动框架的方式和apache启动无关,并且不启动数据库)
 ·方法二:搭建一个wamp或者lamp环境(本质就是一个虚拟主机的配置,虚拟主机≠虚拟机)
         ·Windows/Linux+Apache+MySQL+PHP
     ○第一步:
       Apache 側:看httpd.conf文件中引入的是哪一个(任意一个都可以)
             →Include conf/vhosts.conf
             →#Include conf/extra/httpd-vhosts.conf
         当前引入的是Include conf/vhosts.conf文件,在这里配置如下内容:
             <VirtualHost *:80>
                #站点管理员的邮箱,500的时候显示在页面上 Internal Server Error
                #ServerAdmin webmaster@1234.com
                #站点根目录 入口文件在哪里就是哪里,这里laravel是public
                DocumentRoot "C:\tei_home\php\webdoc\laravel_prj_01\public"
                #站点需要绑定的域名
                ServerName www.1234.com
                #站点的别名(其实和域名一样一样的)
                ServerAlias 123.com

                #针对站点的详细配置:
                <Directory "C:\tei_home\php\webdoc\laravel_prj_01\public">
                    allow from all    #允许全部访问
                    AllowOverride All    #允许分布式配置文件
                    Options +indexes    #+/-表示是否显示索引(我们的目录结构)
                </Directory>
             </VirtualHost>
     ○第二步:
       Windows側:hosts文件(C:\Windows\System32\drivers\etc\)加入如下内容:
           # Laravel
           127.0.0.1 www.1234.com 1234.com
     
     ○第三步:启动测试。。。
           输入www.1234.com或者1234.com显示内容和http://127.0.0.1:8000/显示一样→则OK,我测试失败NG。
    测试失败?待解决!->已解决(解决方案如下:)
  • 手动下载PHP7.0.x版本(废弃之前的PhpStudy)

  • 手动下载MySql(只安装MySQL8.0.x的server)

  • 手动下载Apache2.4

  • 重新安装composer(因为之前安装时候要指定php.exe文件位置)

  • 重新下载/安装Laravel项目框架

上述问题解决详细:

    下载apache参考视频1“https://www.youtube.com/watch?v=TDpllMVuoeE”;←方法1
    apache官网:https://httpd.apache.org/ 从官网下载的细节:        
    【Files for Microsoft Windows】→【Apache Lounge】→
    【确保您安装了Visual Studio 2015-2019的最新14.25.28508.3 Visual C ++可再发行组件:vc_redist_x64】//没有安装的话可以从这里下载并安装。

    参考视频2“如何在Windows 10上安装Apache,MySql和PHP”//https://www.youtube.com/watch?v=kuMTZowwjus
    
    下载【VC_redist.x64.exe】
    //https://aka.ms/vs/16/release/VC_redist.x64.exe

    下载【Apache24】←方法2
    //https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.43-win64-VS16.zip
    
    官网下载【PHP】//https://windows.php.net/download
    下载【PHP 7.2 (7.2.30)】//https://windows.php.net/downloads/releases/php-7.2.30-Win32-VC15-x64.zip
 
 至此,下载完成了。进行下面的配置设定:
 
 将下载好的文件解压到C:/apps/   → 分别放在 apache 和 php文件夹下(这个不是必须,只因我安装的程序都放在这里)
 
 然后修改【httpd.conf】文件:(注意要用返斜杠【 / 】)
    1. 在【httpd.conf】文件末尾加入如下内容:(参考视频中是这么讲的,但我发现最后没有生效!!知道原因的请留言告诉一声)
        LoadModule php7_module "C:/app/php-7.2.30-Win32-VC15-x64/php7apache2_4.dll"
        AddHandler application/x-httpd-php .php
        # configure the path to php.ini
        PHPIniDir "C:/app/php-7.2.30-Win32-VC15-x64"
        
    2.1 修改前:                         |    2.2 修改后:
        <IfModule dir_module>            |        <IfModule dir_module>
            DirectoryIndex index.html    |            DirectoryIndex index.php
        </IfModule>                      |        </IfModule>

    3.1 修改前:                         |    3.2 修改后:
        #ServerName www.example.com:80   |        ServerName localhost
        
    4.1 修改前:                              4.2 修改后:
        Define SRVROOT "c:/Apache24"     |        Define SRVROOT "C:/app/Apache24"
        
    5. 在系统环境变量中添加如下信息(注意顺序不能错,因为存在依赖关系)
        ·① C:\app\php-7.2.30-Win32-VC15-x64
        ·② C:\app\Apache24
        ·③ C:\app\Apache24\bin
        
    6. 在开始菜单输入【cmd】然后按【Ctrl+Shift+Enter】→ 以管理者身份打开命令行,
        移动到apache安装的bin目录下执行以下命令,安装apache服务并启动该服务
        · 输入【httpd -k install】命令安装apache服务
        · 输入【httpd -k start】启动已安装的Apache服务
        · 输入【httpd -k uninstall】命令移除apache服务
        
        · 输入【httpd -k install -n "MyServiceName"】指定要安装的服务的名称(适用于电脑上有几个不同的Apache服务设施)
        · 输入【httpd -k install -n "MyServiceName" -f "c:\folderName\my.conf"】指定服务配置文件的路径和名称
          注:若不使用特殊参数(如httpd.exe -k install),服务名称为Apache2.X,配置文件为conf\httpd.conf
        · 输入【httpd -k start -n "MyServiceName"】启动指定已安装的Apache服务
        · 输入【httpd -k uninstall -n "MyServiceName"】命令移除特定的Apache服务
        
        · 输入【httpd -k stop || httpd -k shutdown】停止已安装的Apache服务
        · 输入【httpd -k restart】重启已安装的Apache服务(迫使服务重读配置文件,适用于修改配置文件后)
        命令样式参照来源:https://blog.csdn.net/weixin_37909363/article/details/80332733
      Tips:
          安装Apache服务器时出现下面这句话,这里并不是错误,而是一个提示:如果这行下边出现错误则解决错误后再启动!
          Errors reported here must be corrected before the service can be started.
          
    7. 修改C:\app\php-7.2.30-Win32-VC15-x64\php.ini-development文件名→【php.ini】
       在php.ini文件中【取消注释】:
        · extension_dir = "ext"
        · extension=pdo_mysql
        · extension=mysqli
       可以用【php -m】命令查看设定列表
   
   至此,启动apache2.4,启动laravel框架,输入www.1234.com或1234.com可以看到laravel项目的默认开始页面→OK结束!

    官网下载MySQL:    //https://dev.mysql.com/downloads/
    MySQL安装器下载:  //https://dev.mysql.com/downloads/file/?id=495321
    我安装的版本:version:MySQL8.0.20 
    我设置的密码:root password:root123
    使用的服务名:Windwos Service Name:MySQL80
    
    (如果以前安装过mysql建议,完全删除旧版本,在进行安装)
    
    完全删除MySQL://https://www.youtube.com/watch?v=E883reY4sac
    ①开始→设定→アプリと機能→选中Mysql相关软件→アンインストール
    ②删除 C:\Program Files (x86)\MySQL 
    ③删除 C:\ProgramData\MySQL
    ④删除 C:\Users\鄭\AppData\Roaming\MySQL

▲项目的目录结构

laravel_prj_01
    │
    ├─app        //存放项目的核心代码。-控制器,模型。
    │  │  User.php        //默认模型文件
    │  │
    │  ├─Console
    │  │      Kernel.php
    │  │
    │  ├─Exceptions
    │  │      Handler.php
    │  │
    │  ├─Http
    │  │  │  Kernel.php
    │  │  │
    │  │  ├─Controllers        //控制器,可以进行分目录管理
    │  │  │  │  Controller.php        //父类控制器
    │  │  │  │
    │  │  │  └─Auth                //子类控制器
    │  │  │          ForgotPasswordController.php
    │  │  │          LoginController.php
    │  │  │          RegisterController.php
    │  │  │          ResetPasswordController.php
    │  │  │
    │  │  └─Middleware
    │  │          EncryptCookies.php
    │  │          RedirectIfAuthenticated.php
    │  │          TrimStrings.php
    │  │          VerifyCsrfToken.php
    │  │
    │  └─Providers
    │          AppServiceProvider.php
    │          AuthServiceProvider.php
    │          BroadcastServiceProvider.php
    │          EventServiceProvider.php
    │          RouteServiceProvider.php
    │
    ├─bootstrap        //laravel框架启动目录(一般不用动)
    │  │  app.php
    │  │  autoload.php
    │  │
    │  └─cache
    │          .gitignore
    │
    ├─config        //针对框架的配置文件
    │      app.php        //项目的主配置文件(频繁使用,修改)
    │      auth.php    //定义用户认证
    │      broadcasting.php
    │      cache.php
    │      database.php    //针对数据库的配置
    │      filesystems.php        //针对上传文件,文件存储
    │      mail.php    //邮件相关
    │      queue.php
    │      services.php
    │      session.php
    │      view.php
    │
    ├─database    //数据迁移目录
    │  │  .gitignore        //这个是github生成的,不用管它
    │  │
    │  ├─factories        //也是存放和数据库相关的文件,一般我们不用
    │  │      ModelFactory.php
    │  │
    │  ├─migrations        //和数据表相关的文件 迁移文件
    │  │      2014_10_12_000000_create_users_table.php
    │  │      2014_10_12_100000_create_password_resets_table.php
    │  │
    │  └─seeds        //中文意思@撒种    种子文件 存放数据表的数据填充文件
    │          DatabaseSeeder.php
    │
    ├─public        //项目的入口文件和一些静态文件(安全的单一入口)
    │  │            //因此,站点位置要指定到这里
    │  │  .htaccess
    │  │  favicon.ico
    │  │  index.php
    │  │  robots.txt
    │  │  web.config
    │  │
    │  ├─css
    │  │      app.css
    │  │
    │  └─js
    │          app.js
    │
    ├─resources
    │  ├─assets
    │  │  ├─js
    │  │  │  │  app.js
    │  │  │  │  bootstrap.js
    │  │  │  │
    │  │  │  └─components
    │  │  │          Example.vue
    │  │  │
    │  │  └─sass
    │  │          app.scss
    │  │          _variables.scss
    │  │
    │  ├─lang        //语言包
    │  │  └─en
    │  │          auth.php
    │  │          pagination.php
    │  │          passwords.php
    │  │          validation.php
    │  │
    │  └─views        //视图文件
    │          welcome.blade.php
    │
    ├─routes        //路由
    │      api.php
    │      channels.php
    │      console.php
    │      web.php        //路由文件,频繁使用
    │
    ├─storage        //存放日志,缓存,上传文件。注意Linux下保证写权限
    │  ├─app        //存用户上传的文件
    │  │  │  .gitignore
    │  │  │
    │  │  └─public
    │  │          .gitignore
    │  │
    │  ├─framework        //存放框架运行时候的缓存文件
    │  │  │  .gitignore
    │  │  │
    │  │  ├─cache
    │  │  │      .gitignore
    │  │  │
    │  │  ├─sessions
    │  │  │      .gitignore
    │  │  │
    │  │  ├─testing
    │  │  │      .gitignore
    │  │  │
    │  │  └─views
    │  │          .gitignore
    │  │
    │  └─logs        //日志文件
    │          .gitignore
    │
    └─tests
        │  CreatesApplication.php
        │  TestCase.php
        │
        ├─Feature
        │      ExampleTest.php
        │
        └─Unit
                ExampleTest.php

Vender //第三方的代码依赖文件夹—缺少??·未解决
.env //环境配置文件 config配置的很对读取都是从这里读取的
.env.example //环境配置例子文件
artisan //脚手架文件–生成代码(自动生成)比如:生成控制器,模型文件等。
composer.json //依赖包的配置文件–声明当前项目需要的依赖,不可以删除,composer需要使用
│ .env.example
│ .gitattributes
│ .gitignore
│ artisan
│ composer.json
│ package.json
│ phpunit.xml
│ readme.md
│ server.php
│ webpack.mix.js

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值