Функция database_path
Функция database_path возвращает абсолютный путь к папке database в корне вашего Laravel-приложения. Эта функция полезна, когда вам нужно получить доступ к файлам внутри директории database, например, к миграциям, фабрикам или сидам. Вы можете передать функции дополнительный путь, чтобы сразу получить путь к конкретному файлу.
Синтаксис
<?php
database_path($path = '');
?>
Пример
Давайте получим базовый путь к директории database:
<?php
$path = database_path();
echo $path;
?>
Результат выполнения кода:
"/var/www/my-project/database"
Пример
Давайте получим путь к файлу миграций:
<?php
$migrationPath = database_path('migrations');
echo $migrationPath;
?>
Результат выполнения кода:
"/var/www/my-project/database/migrations"
Пример
Давайте проверим существование файла сидов с помощью функции database_path и метода file_exists:
<?php
$seedFile = database_path('seeders/DatabaseSeeder.php');
if (file_exists($seedFile)) {
echo 'Seeder file exists';
} else {
echo 'Seeder file not found';
}
?>
Результат выполнения кода:
"Seeder file exists"
Пример
Использование функции в контроллере для загрузки SQL-файла из папки database:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class DatabaseController extends Controller
{
public function loadSqlFile()
{
$sqlPath = database_path('sql/init.sql');
if (file_exists($sqlPath)) {
$sqlContent = file_get_contents($sqlPath);
return response()->json([
'message' => 'SQL file loaded successfully',
'size' => strlen($sqlContent)
]);
}
return response()->json([
'message' => 'SQL file not found'
], 404);
}
}
?>
Результат выполнения кода при обращении к маршруту:
{"message":"SQL file loaded successfully","size":1024}
Смотрите также
-
функция
storage_path,
которая возвращает путь к директории storage -
функция
public_path,
которая возвращает путь к директории public -
функция
base_path,
которая возвращает путь к корневой директории проекта -
функция
app_path,
которая возвращает путь к директории app