通过laravel框架集成现有项目


Integrating existing project by laravel framework?

我已经从github克隆了一个项目,现在我需要集成该项目,那么如何使用laravel框架,我是否需要创建一个新项目,然后需要替换文件夹?或者其他选择?因为我是这个框架的新手。。帮帮我。

这是一个广泛的问题,因为它取决于您的项目,而我们在这里不知道。

Laravel不在乎你的项目文件在哪里,它允许你自由地对所有文件做任何你需要的事情;非Laravel项目与Laravel应用程序共享文件夹时,人们遇到的大多数问题都与虚拟主机、.htaccess配置和/或他们试图集成的应用程序有关。你必须很好地理解这些web服务器是如何工作的,才能让你的项目与Laravel应用程序很好地配合。

我的建议是:在你的项目中创建一个子文件夹,并在上面构建你的Laravel应用程序。配置一个虚拟主机别名,将你的Laravel应用程序的基本URL指向该文件夹,你应该很好。例如:

这将是myapp的子app(Laravel)的别名:

Alias /subapp "/var/www/myapp/subapp/public"
<Directory /var/www/myapp/subapp>
  Options Indexes Includes FollowSymLinks MultiViews
  AllowOverride AuthConfig FileInfo
  Order allow,deny
  Allow from all
</Directory>

和.htaccess:

<IfModule mod_rewrite.c>
    #Options -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /subapp/index.php?/$1 [L]
</IfModule>

然后你可以有你的网址:

http://myapp

http://myapp/subapp

你甚至可以让Laravel导入你的一些类,直接在你的Laravel代码中要求它们:

require "../../../classes/Class.php";

如果你的应用程序是基于像Laravel这样的Composer,你可以自动加载你的类,方法是:

require "../../../vendor/autoload.php";

但是,如果您需要Laravel和您的应用程序之间的真正集成,您有两个(或更多)选项:

1) 在API中转换其中一个(或在其中创建一个API),并将客户端中的另一个转换为此API。

2) 创建一个全新的Laravel项目,并将您的遗留代码引入您的Laraver应用程序,这就是从零开始创建应用程序。

转到您的www文件夹

cd /var/www

Git克隆你的应用程序(注意这里的目录不能存在):

git clone https://github.com/antonioribeiro/application

将目录更改为文件夹

cd application

执行composer更新(如果您处于开发环境中)

composer update

或者执行composer安装(如果您在生产环境中)

composer install

注意,对于composer installcomposer update,文件夹实际上可能有文件,甚至可能创建了供应商文件夹,不存在这样的障碍。