今天是星期五吗
2024 is 23% complete.
:sjzjams
sjzjams

好记性不如烂笔头之Laravel-PHP功能开发

为了昨天晚上在水里泡了一夜的鸡胸肉而写,php任何人都可以写的语言.
前情讲述:

  1. beikeshop项目的后端功能拓展
  1. 增加一个功能需要哪些步骤呢?
    1):Models层增加新表数据结构(ProductDetails
    2):Models层Product主表中增加新表数据结构对应关系 `public function details(): HasMany
    {

    return $this->hasMany(ProductDetails::class);

    }`
    3):Service层增createOrUpdate方法增加新关联表的处理
    4):Repositories层中增加商品详情中关联查询对象返回
    5):Resources层中商品详情页中增加details数据返回
    6):完善表单中前端功能

北京市-鸡胸肉泡了一晚上
2024年08月27日
sjzjams

还得是我霉

北京市
2024年08月23日
sjzjams

ProductController -->ProductRepo-->Product-->view 页面获取返回的$data['product'] 里面包含获取产品关联项的ID集合实体对象 例如商品名称等
在 Laravel 中,我该如何传递参数给视图呢?https://learnku.com/laravel/wikis/25612

/**
 * 展示产品的详细信息。
 *
 * 此方法处理展示单个产品的请求。它首先收集与产品相关的项的ID,
 * 然后获取产品的详细信息,并增加产品的浏览次数。
 * 接着,它准备与产品和相关产品有关的数据,并通过视图呈现给用户。
 *
 * @param Request $request HTTP请求对象,用于获取和处理请求数据。
 * @param Product $product 产品对象,代表需要展示的产品。
 * @return \Illuminate\View\View 返回包含产品详细信息和相关产品信息的视图。
 */
public function show(Request $request, Product $product)
{
    // 获取产品关联项的ID集合
    $relationIds = $product->relations->pluck('id')->toArray();
    
    // 获取产品的详细信息
    $product     = ProductRepo::getProductDetail($product);
    // 增加产品的浏览次数
    ProductRepo::viewAdd($product);

    // 准备产品详细信息和相关产品信息的数据
    $data        = [
        'product'   => (new ProductDetail($product))->jsonSerialize(),
        'relations' => ProductRepo::getProductsByIds($relationIds)->jsonSerialize(),
    ];

    // 应用插件钩子,允许第三方修改产品展示的数据
    $data = hook_filter('product.show.data', $data);

    // 返回展示产品详细信息的视图
    return view('product/product', $data);
}
2024年07月09日
sjzjams

首先先请看官方文档,个人觉得写的有点粗,毕竟现在开源卖服务不容易,可以商用哈~注意保留Powered By BeikeShop哦,想研究一下还是需要点基础知识,这里主要讲一下主题的开发和使用方式如下:

BeikeShop官方文档链接

最近有一个朋友请我帮忙搞一个跨境电商,找了一些平台最后选中这个感觉设计的符合跨境,研究了一天感觉还不错该系统是由php开发,工作经验够的各个语言应该理解差不多,还是要求有点前后端以及运维经验的.

开始正文从下面几个方面开始

  • BeikeShop项目地址GitHub,参考官方文档链接,需要的
  • 本地环境搭建,PS:不得不说php真的是最好的开发语言之一!首先本地开发安装环境要求
    PHP 8.1+
    MySQL 5.7+
    Apache httpd 2.4+ 或者 Nginx 1.10+
    Nodejs 14+
  • php集成环境
    [EServer使用链接]https://github.com/xianyunleo/EServer,里面包含上面除Nodejs的所有环境
  • 本地开发安装环境遇到的问题
    git clone下来代码后记得再EServer软件设置-开启环境变量-启用Composer.
    然后接下来是 执行安装三方包

    composer install

    如果这个过程提示一些错误,
    我遇到的问题是 会提示PHP 的 pcntl 扩展,根据php官方说明,这个扩展仅可以在Linux系统下运行,
    如何解决:在根目录下composer.json文件中 添加下面代码,顺利install

      "config": {
      "optimize-autoloader": true,
      "preferred-install": "dist",
      "sort-packages": true,
      "platform": {
          "ext-pcntl": "8.0",
          "ext-posix": "8.0"
      }

    },

  • 环境配置好开始进行主题的开发,第一件事就是看官方开发文档-开发
    上面环境搞定,接下来就是按照.env.example 创建.env文件,可以按照文档命令创建也可以手工创建,
    配置好mysql运行项目进行安装
  • 主题开发流程,官方文档给出了一个对php不了解的人的流程,为什么这么说呢,因为流程很简单,但是没搞过php一些框架开发就会很懵哈哈.
    按照流程创建好对应的文件夹目录,config.json中设置为theme,然后后台启用即可.
    首先模板文件创建好,你可以用themes/default当模板文件实验一下复制到plugins插件模板主题文件夹里,模板创建好了,后台也启用模板了,修改模板后如何生效呢?对前端不了解的同学注意webpack.mix.js,
    这个文件很清楚的告诉了你新开发模板编译需要做些什么.接下来就是套用你的静态页

北京市-某个吹着空调的房间里
2024年06月27日
sjzjams

一个入门简单、跨平台、企业级桌面软件开发框架


📋 简介

Vue Naive Admin 是一款极简风格的后台管理模板,包含前后端解决方案,前端使用 Vite + Vue3 + Pinia + Unocss,后端使用 Nestjs + TypeOrm + MySql,简单易用,赏心悦目,历经别人十几次重构和细节打磨,诚意满满!!
本地启动的redis, todo:服务器启用docker安装redis

📋 todo:通信

只需一个文件:ipcRenderer.js

你的前端项目需要引入该文件,才能和 electron业务层 通信

文件位置

./electron-egg/frontend/src/utils/ipcRenderer.js

📋 介绍

  • 🍩 为什么使用? 桌面软件(办公方向、 个人工具),仍然是未来十几年PC端需求之一,提高工作效率
  • 🍌 项目启动: 前端服务由vue-naive-admin代替,后端启动服务由isme-nest-serve代替,
  • 🍉 简单: 只需懂 JavaScript
  • 🍑 愿景: 所有开发者都能学会桌面软件研发
  • 🍒 前端:
  • 🍩 后端 本项目是使用 Nestjs + TypeOrm + MySql + Redis 搭建,实现了 JWT 认证、菜单管理、RBAC 权限控制核心等功能。

2024年04月17日
Icefox Theme .