laravel

shell 命令

bash 复制代码
# 清除缓存命令组
# 开发时常用这些命令来确保修改生效
php artisan clear # 清除所有缓存
php artisan route:clear # 清除路由缓存
php artisan config:clear # 清除配置缓存

# 查看当前Laravel版本
# 或完整写法:php artisan --version
php artisan -V 

# 创建API控制器(适用于RESTful API开发)
php artisan make:controller [ControllerName] --api 
# 创建Eloquent模型(用于数据库交互)
# 可选参数:-m 同时创建迁移文件,-c 同时创建控制器,-r 创建资源控制器
php artisan make:model [ModelName] 
# 创建表单请求类(用于请求验证)
# 生成的请求类位于app/Http/Requests目录,可用于验证规则定义
php artisan make:request [RequestName] 

 #安装 laravel-google-captcha
composer require mews/captcha
#发布配置文件
php artisan vendor:publish --provider="Mews\Captcha\CaptchaServiceProvider"

入门练习

练习视频

练习源码 :

链接: https://pan.baidu.com/s/1tbgeXfV1skeM_Y4vDoUObA?pwd=2gt9

提取码: 2gt9

Workerman + Laravel + Vue.js 实战聊天室

项目源码

https://github.com/ywcmoon/laravel_work

版本

OS windows

Laravel Framework 12.31.1

PHP 8.2.9

安装

安装laravel启动器

bash 复制代码
composer global require laravel/installer

安装成功还需要加入环境变量,本地路径示意:C:\Users\q1113\AppData\Roaming\Composer\vendor\bin

创建应用

bash 复制代码
laravel new example-app
npm install
npm run build
composer run dev

没有npm命令

1.安装 NVM for Windows:

下载地址:https://github.com/coreybutler/nvm-windows/releases

下载 nvm-setup.exe 并安装

2.使用 NVM 安装 Node.js:

bash 复制代码
# 查看可用版本
nvm list available

# 安装 LTS 版本
nvm install lts

# 使用安装的版本
nvm use lts

# 验证
node --version
npm --version

配置文件

composer.json

bash 复制代码
{
    "$schema": "https://getcomposer.org/schema.json",
    "name": "laravel/laravel",
    "type": "project",
    "description": "The skeleton application for the Laravel framework.",
    "keywords": [
        "laravel",
        "framework"
    ],
    "license": "MIT",
    "require": {
        "php": "^8.2",
        "laravel/framework": "^12.0",
        "laravel/tinker": "^2.10.1",
        "laravel/ui": "^4.6",
        "workerman/gatewayclient": "^3.1"
    },
    "require-dev": {
        "fakerphp/faker": "^1.23",
        "laravel/boost": "^1.8",
        "laravel/pail": "^1.2.2",
        "laravel/pint": "^1.24",
        "laravel/sail": "^1.41",
        "mockery/mockery": "^1.6",
        "nunomaduro/collision": "^8.6",
        "pestphp/pest": "^4.2",
        "pestphp/pest-plugin-laravel": "^4.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "setup": [
            "composer install",
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
            "@php artisan key:generate",
            "@php artisan migrate --force",
            "npm install",
            "npm run build"
        ],
        "dev": [
            "Composer\\Config::disableProcessTimeout",
            "npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"npm run dev\" --names='server,queue,vite'"
        ],
        "test": [
            "@php artisan config:clear --ansi",
            "@php artisan test"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
            "@php artisan boost:update --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi",
            "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
            "@php artisan migrate --graceful --ansi"
        ],
        "pre-package-uninstall": [
            "Illuminate\\Foundation\\ComposerScripts::prePackageUninstall"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true,
            "php-http/discovery": true
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}

package.json

bash 复制代码
{
    "$schema": "https://www.schemastore.org/package.json",
    "private": true,
    "type": "module",
    "scripts": {
        "build": "vite build",
        "dev": "vite",
          "watch": "vite build --watch"
    },
    "devDependencies": {
        "@popperjs/core": "^2.11.6",
        "@tailwindcss/vite": "^4.0.0",
         "@vitejs/plugin-vue": "^6.0.1",
        "axios": "^1.11.0",
        "bootstrap": "^5.2.3",
        "concurrently": "^9.0.1",
        "laravel-vite-plugin": "^2.0.0",
        "sass": "^1.56.1",
        "tailwindcss": "^4.0.0",
        "vite": "^7.0.7",
        "vue": "^3.2.37"
    },
    "dependencies": {
        "jquery": "^3.7.1"
    }
}

启动

双击项目 laravel_work\socket\GatewayWorker 目录下的 start_for_win.bat 脚本启动socket服务

启动内置的 PHP 开发服务器

bash 复制代码
php artisan serve

如果启动内置的 PHP 开发服务器php artisan serve无效,则在根目录下新建 start-server.php 文件,命令执行php start-server.php

php 复制代码
<?php
// 自定义服务器启动脚本
$host = '127.0.0.1';
$port = 8080;
$publicDir = __DIR__ . '/public';

echo "启动 Laravel 开发服务器: http://{$host}:{$port}\n";

// 构建服务器命令
$command = sprintf(
    'php -S %s:%d -t %s',
    $host,
    $port,
    escapeshellarg($publicDir)
);

// 执行命令
passthru($command);

开发模式下,Vite 需要一个持续运行的开发服务器来提供资源,并保持终端运行.

bash 复制代码
 npm run dev

监视文件变化自动编译

bash 复制代码
npm run watch

启动laravel服务器

bash 复制代码
php start-serve.php

登陆账号进入home目录 http://127.0.0.1:8080/home

请注意,php artisan make:auth 命令在 Laravel 6 及更高版本中已被移除。如果使用的是 Laravel 8 或更新版本,需要通过其他方式安装认证功能:

1.安装 Laravel UI 包:

bash 复制代码
composer require laravel/ui

2.生成脚手架:

bash 复制代码
# 生成基础的认证脚手架
php artisan ui bootstrap --auth
# 或者如果使用 Vue 等:
# php artisan ui vue --auth

3.编译前端资源:

bash 复制代码
npm install 
composer run dev
相关推荐
Root_Hacker18 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
码农水水19 小时前
京东Java面试被问:HTTP/2的多路复用和头部压缩实现
java·开发语言·分布式·http·面试·php·wpf
_童年的回忆_21 小时前
【PHP】关于守护进程报错:SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
开发语言·oracle·php
edisao1 天前
六、 读者高频疑问解答 & 架构价值延伸
大数据·开发语言·人工智能·科技·架构·php
catchadmin1 天前
Laravel12 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.1.0 发布 新增 AI AGENTS 配置
开发语言·php
运筹vivo@1 天前
攻防世界:Web_php_unserialize
前端·web安全·php
说私域1 天前
全民电商时代下的链动2+1模式与S2B2C商城小程序:社交裂变与供应链协同的营销革命
开发语言·人工智能·小程序·php·流量运营
catchadmin1 天前
2026 年 PHP 函数式编程 优势与实际应用
数据库·php
2301_810970391 天前
第一次渗透作业
web安全·php
DARLING Zero two♡1 天前
【计算机网络】简学深悟启示录:序列化&&反序列化
开发语言·计算机网络·php