1. Go to this page and download the library: Download baraja-core/path-resolvers library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
baraja-core / path-resolvers example snippets
$vendorResolver = new VendorResolver();
$vendorPath = $vendorResolver->get(); // e.g., "/var/www/project/vendor"
$wwwResolver = new WwwDirResolver($rootResolver);
$wwwPath = $wwwResolver->get(); // e.g., "/var/www/project/www"
// Or with custom path
$wwwResolver = new WwwDirResolver($rootResolver, '/custom/public');
use Baraja\PathResolvers\Resolvers\TempDirResolver;
use Baraja\PathResolvers\Resolvers\LogDirResolver;
final class MyService
{
public function __construct(
private TempDirResolver $tempResolver,
private LogDirResolver $logResolver,
) {
}
public function getCacheDir(): string
{
return $this->tempResolver->get('cache');
}
public function getErrorLogPath(): string
{
return $this->logResolver->get('error.log');
}
}
use Baraja\PathResolvers\Resolvers\VendorResolver;
use Baraja\PathResolvers\Resolvers\RootDirResolver;
use Baraja\PathResolvers\Resolvers\TempDirResolver;
use Baraja\PathResolvers\Resolvers\LogDirResolver;
use Baraja\PathResolvers\Resolvers\WwwDirResolver;
// Create resolvers manually
$vendorResolver = new VendorResolver();
$rootResolver = new RootDirResolver($vendorResolver);
$tempResolver = new TempDirResolver($rootResolver);
$logResolver = new LogDirResolver($rootResolver);
$wwwResolver = new WwwDirResolver($rootResolver);
// Use them
echo $rootResolver->get(); // /var/www/project
echo $tempResolver->get('cache'); // /var/www/project/temp/cache
echo $logResolver->get(); // /var/www/project/log
echo $wwwResolver->get(); // /var/www/project/www
public function __construct(private TempDirResolver $tempResolver) {}
public function getCacheFile(string $key): string
{
return $this->tempResolver->get('cache/' . md5($key) . '.cache');
}
public function __construct(private LogDirResolver $logResolver) {}
public function writeLog(string $message): void
{
$logFile = $this->logResolver->get('app.log');
file_put_contents($logFile, $message . "\n", FILE_APPEND);
}
public function __construct(private WwwDirResolver $wwwResolver) {}
public function getAssetPath(string $asset): string
{
return $this->wwwResolver->get() . '/assets/' . $asset;
}
public function __construct(private RootDirResolver $rootResolver) {}
public function getConfigPath(): string
{
return $this->rootResolver->get('config/app.neon');
}
public function get(): string
{
static $cache;
return $cache ?? $cache = $this->detect();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.