在Laravel中使用自己的类库三种方式

Laravel基础-关于引入公共文件的两种方式 今天小编就为大家分享一篇Laravel基础-关于引入公共文件的两种方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库。另外在某一项目中,我们也可能会创建某一类库,而且可能并没有制作成为composer package 的打算。这个时候我们可以通过以下方式来使用自己的特有类库。

增加可直接实例化的类

有些需要直接在项目中使用的类,可以通过以下方式增加到Laravel中

  1. 创建类库文件app/libraries/class/myClass.php
  2. 写入文件内容
<?php
class Message {
    public static function display() {

    }
}
?>
  1. 在app/start/globals.php中增加类导入路径
<?php 
ClassLoader::addDirectories(array(

    app_path().'/commands',
    app_path().'/controllers',
    app_path().'/models',
    app_path().'/database/seeds',
    app_path().'/libaries/class', // 在这里增加

));
?>
  1. 在composer.json中增加autoload目录
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php",
        "app/libraries/class"   //在这里增加
    ]
},
  1. 执行composer dump-autoload来创建导入映射
  2. 使用自己导入的类直接调用Message::display()即可

这种方法同样也是增加队列类的方法,很多人不知道Laravel中队列处理类应该放在哪里,其实按照上面的方法,在app目录下创建一个queues目录,然后让其可以直接实例化即可

增加可直接调用的函数

有人喜欢用v()来代替var_dump(),想要在Laravel中这么做也非常容易

  1. 创建一个函数文件app/libraries/function/helper.php
  2. 写入文件内容
<?php 
function v($msg){
    var_dump($msg);
}
?>
  1. 把文件增加到composer自动导入列表中
"autoload": {
   "classmap": [
       ...
   ],
   "files": [
       "app/libraries/function/helper.php"
   ],
},

或者在项目中显示require这个文件。打开app/start/global.php,在末尾增加:

require app_path().'/libraries/function/helper.php';

个人感觉这两种方式都OK,如果想要控制这个文件加载的时间,甚至可以在filter.php文件中增加以下内容

App::before( function( $request ) {
    require( "{$GLOBALS['app']['path.base']}/app/libraries/function/helper.php" );
});
  1. 在项目中直接使用函数v('hello world');

增加稍微复杂的类库

有的时候一个类库不仅仅是一个文件那么简单,因此下面的方式更加适合有多个文件多个结构的类库。

  1. 创建psr0或者psr4标准的目录结构。
libraries
    Myapp
        Search (note directory is capitalized)
            Search.php
            SearchFacade.php
            SearchServiceProvider.php
        AnotherLib

Myapp/Search/Search.php中Search类的命名空间为Myapp\Search。

  1. 修改composer中autoload
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/libraries",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ]
    ,
    "psr-0": {
         "Myapp": "app/libraries"
    }
},
  1. 在项目中使用new Myapp\Search\Search()来实例化某一类

总结

虽然Laravel没有强制哪种方式最好,但是有一定的标准可以使得项目结构清晰,多人合作开发时省去很多交流成本。

链接:http://yansu.org/2014/03/20/use-other-libraries-in-laravel.html


Ubuntu22.04 上ROS1 Noetic的安装与常见问题解决 本文详细介绍了在Ubuntu 22.04系统上安装ROS1 Noetic的两种主要方法:推荐使用社区维护的适配仓库进行便捷安装,并提供了从源码编译的备选方案。文章重点解决了安装后编译ROS包时极易遇到的“shared_mutex”等C++标准库冲突问题,并给出了其他常见错误的排查与解决指南,帮助开发者顺利搭建稳定的ROS开发环境。 阅读详情

相关推荐

4 种方法识别Linux系统 USB 设备

导读 如果在系统中插入一个设备,尤其是在桌面环境下,比如 USB 设备,它会自动挂载到一个指定目录,一般是在 /media/username/device-label 目录下,之后你就可以进入到该目录下访问那些文件了。然而,在服务器上就不是这么回事了,你必须手动挂载这个设备,并且指定一个挂载点。 查询USB设备 Linux 系统使用 /dev 目录下特定的设备文件来标识插入的

郑帅的博客 1987

Laravel使用第三方库

在使用Laravel 开发的时候,经常会用composer 下载一些库用,常用的的一些库基本都有和Laravel 做整合的,例如之前说qrcode和excel 导出导入等都会有对应库!但总会有一些库没有整合Laravel的,例如最近用到一个库 cybersource-sdk-php (下载地址:https://github.com/CyberSource/cybersource-sdk-php) 我知道的应该是有两种方法的调用的 第一种是如果核心的文件少,可以在这些文件中都加上namespac...

吴家健ken的博客 849

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 980

Laravel 引入自定义类库或第三方类库

强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以使用,就是类名字(非文件名)最好复杂一些。(重复也不要紧,程序会自己判断) laravel5.4中如何引入自定义的类库文件呢?在laravel的app目录下自定义一个文件夹,我用的名字是:Libs然后直接将自定义类库扔进这个目录,如Dingding 在composer.json中的autoload...

weixin_30731287的博客 639

LPDDR4x 深度解析(3) - SDRAM核心操作机制

本文深入解析LPDDR4x SDRAM的核心操作机制,包括基础架构、刷新操作、读写流程及低功耗设计。详细介绍了存储阵列、地址解码器等关键模块,以及自刷新与自动刷新模式的区别。通过实测数据和技术细节,揭示LPDDR4x在性能优化和功耗控制方面的创新设计,为硬件工程师提供实用参考。

weixin_29278805的博客 308

光电容积脉搏波PPG信号分析笔记

脉搏波信号PPG分析笔记

teresa_zp的专栏 6478

laravel引入第三方类(phpexcel实现excel导入数据库)

第一步:框架要求满足相应基础条件 laravel版本5.+ 第二步:执行如下命令安装依赖及扩展: composer require maatwebsite/excel ~2.1.0 完成后所需要的phpexcel的类在vendor中 接口代码如下 public function export(Request $request) { $tmp_file = $_FILES['file']['tmp_name']; $file_types =e

工作遇到问题的归纳总结 791

60、基于综合奖励的股票交易深度强化学习方法

本文提出了一种基于综合奖励的股票交易深度强化学习方法,通过结合TCN和Transformer构建策略网络,利用PPO和TRPO优化算法,设计综合考虑短期和长期收益的奖励函数,并引入基于BERT的情绪分析来减少数据噪声。实验结果表明,该方法在S&P500数据集上表现优异,能够有效降低风险并提高投资回报,具有良好的应用前景。

grpc6streamer的博客 79

Laravel使用第三方类的方法

如果使用第三方类库时不能使用或者没有必要使用composer进行安装的情况下、可以通过手动导入的方式进行第三方类的导入。Summary: 使用PHP开发Laraval应用时,如何使用第三方(或者自己写)的PHP类。Title: Laravel使用第三方类的方法。之后像一个其他的类一样使用就可以了。

u011563431的博客 265

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 317

RSL-RL:开源人形机器人强化学习控制研究库

摘要:RSL-RL是一款专为机器人领域设计的开源强化学习库,其核心特点是紧凑性、可修改性和高性能。该库聚焦PPO和BC两大主流算法,并整合了对称性增强、好奇心驱动等机器人专用技术。通过纯GPU训练优化,RSL-RL在大型仿真中展现出卓越的吞吐性能,已成功应用于腿足运动控制、全身协调等多个机器人研究场景。其轻量级架构包含运行器、算法和网络三个可独立修改的组件,支持TensorBoard等主流日志工具。该框架特别适合需要快速原型开发的机器人研究者,但不适用于通用机器学习基准测试。开源地址:https://git

2506_90492529的博客 1680

Laravel 使用自己的类库三种方式

虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库。另外在某一项目中,我们也可能会创建某一类库,而且可能并没有制作成为composer package 的打算。这个时候我们可以通过以下方式来使用自己的特有类库。 增加可直接实例化的类 有些需要直接在项目中使用的类,可以通过以下方式...

weixin_30482383的博客 124

Xilinx FPGA平台DDR3设计保姆式教程(1)DDR3基础简介

xilinx平台DDR3设计(1)DDR3简介 如果我们只是拿来用ddr搬砖,那么它就简单,知道IP怎么使用就好,但是要想知其所以然,理论知识是必备的,这也是我们初学者所欠缺的东西,慢慢修炼吧! 目录 一、DDR3简介 二、地址的概念及容量计算 三、重要给概念理解 3.2 列地址脉冲选通潜伏期 3.4 掩码 四、参考资料 一、DDR3简介 DDR3全称double-data-rate 3 synchronous dynamic RAM,即第三代双倍速率同步动态随机存储器。...

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

php如何自己写类库,Laravel中使用自己编写类库的3种方法

这篇文章主要介绍了Laravel中使用自己编写类库的3种方法,本文讲解了增加可直接实例化的类、增加可直接调用的函数、增加稍微复杂的类库三种方式,需要的朋友可以参考下虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库。另外在某一项目中,我们也可能会创建某一类库,而且可能并没有制作成为composer ...

weixin_33469623的博客 341

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Laravel中使用自己编写类库的3种方法

这篇文章主要介绍了Laravel中使用自己编写类库的3种方法,本文讲解了增加可直接实例化的类、增加可直接调用的函数、增加稍微复杂的类库三种方式,需要的朋友可以参考下虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库。另外在某一项目中,我们也可能会创建某一类库,而且可能并没有制作成为composer p...

smile的博客 1887

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Laravel 引入第三方类库及自定义函数

大体流程: 1.新建一个目录放第三方类库 2.找到composer.json文件打开,在里面autoload 下classmap下面加入类库路径 3根目录下运行composer dumpautoload 4.使用时直接use 类的名称即可 5.方法调用可以new对象后-&gt;方法名访问 也可以类名::方法名访问 具体操作: Laravel版本:5.6 1. 引入第三方淘宝客类库,方法: 直接...

qq_26282869的博客 838

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Laravel 加载第三方类库的方法

https://www.jb51.net/article/138530.htm 这篇文章主要介绍了Laravel 加载第三方类库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Laravel 版本:5.5 有很多第三方的类库并没有制作 Composer,而是还以 require 的方式进行加载。对于此类的类库,我们只要小粒度的修改,就可以进行使用...

axfcjwkbi259888707的博客 106

laravel5使用Laravel-Excel类库实现excel表

1、安装前确保当前环境已经安装compser ,本例子使用composer进行安装: composer require "maatwebsite/excel:~2.1.0" 2、在app/config/app.php中"providers"数组中添加: Maatwebsite\Excel\ExcelServiceProvider::class, 在aliases中添加: 'Excel

奴役人生 1723

laravel引入第三方类库的方法

laravel版本:5.1 今天做的是引入第三方的phpquery类库,方法: 在laravel的app目录下自定义一个文件夹,我用的名字是:Libs 然后直接将phpquery类库扔进这个目录 在composer.json中的autoload下的classmap下加入"app/Libs/phpQuery" 然后在命令行中运行 composer 

AzerothYang的博客 8689

laravel新建网站的使用composer加载类库

最新从git上拉下来的文件,需要使用composer来加载类库的,那么操作方法如下。 进入到laravel跟目录下面,运行如下的命令: D:\WWW\bmcode3>composer install 则会看到如下的显示: D:\WWW\bmcode3>composer install Loading composer repositories with package informa...

hxthon的博客 390

在Laravel中使用不带命名空间的第三方类库

在使用laravel框架时有时会遇到使用第三方类库的情况,那么在Laravel框架中如何引入第三方类库呢?require?include? 这些虽然可以但不是好办法,下面介绍一下使用方式。 首先规划一个存放第三方类库的文件夹,比如我打算在app下创建一个extend文件夹,以后遇到第三方类就放在这个目录了,加入现在我有一个Test类和一个Xg类,我可以按下图所示方法放置: 然后打开项目目录...

lr199966的博客 259

Laravel常用类库

PDF类库:下载地址和使用方法: https://github.com/barryvdh/laravel-dompdf

阳水平的博客 937
上一篇: Setup PHPUnit in Laravel 4
下一篇: Android WebView使用
suchfool
博客等级 码龄17年 9粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值