লারাভেল: বেস url পান Get


181

সাধারণ প্রশ্ন, তবে উত্তরটি পাওয়া বেশ শক্ত বলে মনে হচ্ছে। কোডিগিটারে, আমি ইউআরএল হেল্পার লোড করতে পারি এবং তারপরে কেবল তা করতে পারি

echo base_url();

আমার সাইটের ইউআরএল পেতে। লারাভেলের কি সমমান আছে?

উত্তর:


281

আপনি URL মুখোমুখি ব্যবহার করতে পারেন যা আপনাকে ইউআরএল জেনারেটরে কল করতে দেয়

সুতরাং আপনি এটি করতে পারেন:

URL::to('/');

আপনি অ্যাপ্লিকেশন ধারকটিও ব্যবহার করতে পারেন:

$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');

বা ইউআরএল জেনারেটর ইনজেক্ট করুন:

<?php
namespace Vendor\Your\Class\Namespace;

use Illuminate\Routing\UrlGenerator;

class Classname
{
    protected $url;

    public function __construct(UrlGenerator $url)
    {
        $this->url = $url;
    }

    public function methodName()
    {
        $this->url->to('/');
    }
}

3
এবং উদাহরণ থেকে এর সম্ভাব্য উপস্থিতি সত্ত্বেও, এটি লারাভেলের মূল পাথের সাথে তুলনামূলক, সুতরাং আপনি যদি /something/এটিতে ইনস্টল হন তবে সঠিক URL টি তৈরি করবেন।
ceejayoz

@deFreitas এবং #ceejayoz কীভাবে ইউআরএল ব্যবহার করবেন :: ল্যারাভেল স্থানীয়করণের সাথে?
মুবাশার ইকবাল

1
@MubasharIqbal যদি আমি আপনার প্রশ্নের বোঝা, {{URL::to('/my-page.html')}}দৃশ্য এবং echo URL::to('/my-page.html');কোড এ
ডিফ্রেইটাস

আমার ক্ষেত্রে চমৎকার হ্যান্ডলার: <a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">ধন্যবাদ!
joelmez4

156

লারাভেল <5.2

echo url();

লারাভেল> = 5.2

echo url('/');

আশা করি এটি আপনাকে সহায়তা করবে


4
আপনি কেবল একটি কোড-স্নিপেটের পরিবর্তে ব্যাখ্যা অন্তর্ভুক্ত করতে এই উত্তরটি প্রসারিত করতে পারেন?

2
পরীক্ষা: আমার স্থানীয়ভাবে সাইট রয়েছে: লোকালহোস্ট / এবিসি কোডিগিটারে: ইকো বেস_ুরল (); => আমি লোকালহোস্ট / অ্যাবসি পাই লারাভেলে: প্রতিধ্বনি ইউআরএল (); => আমি লোকালহোস্ট / অ্যাবসিও পাই ।
Nguyễn Thành Bồi

1
বিভাগটিযুক্ত url এর জন্য এটি ব্যবহার করুন: url ()। '/'।
Est

20
মনে রাখবেন যে এটি আর 5.2-এ কাজ করে না: github.com/laravel/framework/issues/11479 আপনি url('/')তবে এর পরিবর্তে ব্যবহার করতে পারেন
4lun

1
asset('/')আমার কাছে এটি আরও ভাল বলে মনে হচ্ছে কারণ এর পিছনে স্ল্যাশ রয়েছে যা বেস হ্রেফের জন্য প্রয়োজনীয়।
vintproykt

47

লারাভেল 5 এর জন্য আমি সাধারণত:

<a href="{{ url('/path/uri') }}">Link Text</a>

আমি বুঝতে পারছি যে url()ফাংশনটি ব্যবহার করে একই কল Facadeকরা হচ্ছেURL::to()


4
দ্রষ্টব্য: যদি আপনার ওয়েবসাইটটি https এর উপরে পরিবেশন করা হয় আপনি secure_url()একইভাবে ফাংশনটি ব্যবহার করতে পারেন এবং এটি একটি https লিঙ্ক তৈরি করবে। url()একটি https সাইটে ব্যবহার করে এখনও একটি লিঙ্ক লিঙ্ক তৈরি হবে।
ড্র

1
এই আমার জন্য কাজ করে। নিরাপদ_আরল () সিনট্যাক্সটিও জানার জন্য দরকারী। ধন্যবাদ।
jimmyplaysdrums 15

1
আমি লুমেন 5.4 ব্যবহার করছি। সেখানে url()একটি HTTP অথবা https অনুরোধের রীতিভিত্তিক লিংক জেনারেট করে। অন্যদিকে secure_url()অস্তিত্ব নেই। লারাভেল 5.4 এও কি এই পরিবর্তন ঘটেছে?
আন্দ্রে লিনার্ট

না, এটি লার্ভেল 5.4 এর অংশ। আমি সত্যিই মন্তব্য করতে পারছি না কারণ আমি কখনই লুমেন ব্যবহার করি নি তবে এর জন্য 5.4 লারাভেল ডকুমেন্টেশন secure_url()এখানে পাওয়া যায়: লারাভেল ডকস
শেল্পার্স

23

আরও কিছু ইউআরএল () ফাংশন এবং এর ব্যবহার সহ 2018 লার্যাভেল প্রকাশের (5.7) ডকুমেন্টেশন থেকে আপডেট।

প্রশ্ন: লারাভেলে সাইটের ইউআরএল পেতে?

এটি একটি সাধারণ প্রশ্ন, তাই আমরা এটি ভাগ করতে পারি।

1. বেস URL টি অ্যাক্সেস করা

// Get the base URL.
echo url('');

// Get the app URL from configuration which we set in .env file.
echo config('app.url'); 

২. বর্তমান ইউআরএল অ্যাক্সেস করা

// Get the current URL without the query string.
echo url()->current();

// Get the current URL including the query string.
echo url()->full();

// Get the full URL for the previous request.
echo url()->previous();

৩. নামযুক্ত রাস্তার জন্য ইউআরএল

// http://example.com/home
echo route('home');

4. সম্পদের URL (সর্বজনীন)

// Get the URL to the assets, mostly the base url itself.
echo asset('');

5. ফাইল ইউআরএল

use Illuminate\Support\Facades\Storage;

$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);

এই প্রতিটি পদ্ধতিতে ইউআরএল ফেসিডের মাধ্যমে অ্যাক্সেস করা যেতে পারে:

use Illuminate\Support\Facades\URL;

echo URL::to(''); // Base URL
echo URL::current(); // Current URL

ব্যবহারের সাথে ব্লেড টেম্পলেট (ভিউজ) থেকে এই সহায়তাকারী ফাংশনগুলিকে কীভাবে কল করবেন।

// http://example.com/login
{{ url('/login') }}

// http://example.com/css/app.css
{{ asset('css/app.css') }}

// http://example.com/login
{{ route('login') }}

// usage

<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">

<!-- Login link -->
<a class="nav-link" href="{{ route('login') }}">Login</a>

<!-- Login Post URL -->
<form method="POST" action="{{ url('/login') }}">

17

এটি অ-সুন্দর ইউআরএলগুলির সাথে কাজ করতে আমাকে করতে হয়েছিল:

asset('/');

3
আমার প্রয়োজন অনুসারে এটি সর্বোত্তম<base href="{{ asset('/') }}" />
rneves

আপনাকে কুডোস! <base href="..."/>পিছনের স্ল্যাশের কারণে এটি ঠিক ঠিক খাপ
খায়

13

লারাভেল সহায়তা কর্মের গুচ্ছ সরবরাহ করে এবং আপনার প্রয়োজনের জন্য আপনি সহজভাবে পারেন

লারাভেল হেল্পারদের ইউআরএল () ফাংশন ব্যবহার করুন

তবে লারাভেল 5.2 এর ক্ষেত্রে আপনাকে ইউআরএল ('/') ব্যবহার করতে হবে

লারাভেলের অন্যান্য সমস্ত সহায়ক ফাংশনগুলির তালিকা এখানে


@ সাম্বেলেরোজ এবং আপনি যে অভ্যন্তরীণ ফোল্ডার / ফাইলগুলি করতে পারেন তা অ্যাক্সেস করতে চানurl('/css/style.css')
অক্ষয় খালে

13

এই:

echo url('/');

এবং এই:

echo asset('/');

উভয়ই আমার ক্ষেত্রে হোম url প্রদর্শন করেছে :)


3

আরেকটি সম্ভাবনা: {{ URL::route('index') }}


নিশ্চিত না যে এটি কেন হ্রাস পেয়েছে, কারণ এটি বাস্তবে কাজ করে এবং কেউ বিকল্প হিসাবেও দেয়নি?
CptChaos

2
আমার ডাউনভোট নয় তবে আমি কারণটি অনুমান করছি যে আপনি প্রতিটি অ্যাপে আপনার মূল রুটটির নাম "সূচক" হওয়ার গ্যারান্টি দিতে পারবেন না।
জোনাথন

3

লারাভেলে চিত্র প্রদর্শন করতে আপনি ইউআরএল :: থেকে ('/') ব্যবহার করতে পারেন। দয়া করে নীচে দেখুন:

<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100"> 

ধরে নিন যে, আপনার চিত্রটি "পাবলিক / ইমেজ" এর অধীনে সঞ্চিত রয়েছে।


3

কেবল অ্যাপ্লিকেশন url পেতে, আপনি কনফিগার করেছেন যে আপনি ব্যবহার করতে পারেন:

Config::get('app.url')

এই সংজ্ঞাটি কেবল লারাভেল ক্লাইমে ব্যবহৃত হয়। app.urlএটি একটি
ফ্যালব্যাক

1
ঠিক আছে, env ('APP_URL') সম্ভবত সেরা বিকল্প হবে।
Kenyon

2

আমি এটি ব্যবহার করেছি এবং এটি আমার জন্য লারাভেল 5.3.18 তে কাজ করেছে:

<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>

গুরুত্বপূর্ণ দ্রষ্টব্য: এটি তখনই কাজ করবে যখন আপনি ইতিমধ্যে আপনার ইউআরএল থেকে "সর্বজনীন" মুছে ফেলেছেন। এটি করার জন্য, আপনি এই সহায়ক টিউটোরিয়ালটি পরীক্ষা করে দেখতে পারেন ।


2

যাইহোক, যদি আপনার রুটের কোনও নাম থাকে:

Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');

আপনি route()এই ফাংশনটি ব্যবহার করতে পারেন :

<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">

অন্যান্য দরকারী ফাংশন:

$uri = $request->path();
$url = $request->url();
$url = $request->fullUrl();
asset()
app_path();
// ...

https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/helpers.php


2

এটা যাচাই কর -

<a href="{{url('/abc/xyz')}}">Go</a>

এটি আমার পক্ষে কাজ করছে এবং আমি আশা করি এটি আপনার পক্ষে কাজ করবে।


1

আপনি নিম্নলিখিত অনুযায়ী facades বা সহায়তা ফাংশন ব্যবহার করতে পারেন।

echo URL::to('/');
echo url();

অনুরোধের জন্য সিমফনি উপাদান ব্যবহার করে লারাভেল, নীচে লারাভেল অভ্যন্তরীণ লজিক।

namespace Symfony\Component\HttpFoundation;
/**
* {@inheritdoc}
*/
protected function prepareBaseUrl()
{
    $baseUrl = $this->server->get('SCRIPT_NAME');

    if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) {
        // assume mod_rewrite
        return rtrim(dirname($baseUrl), '/\\');
    }

    return $baseUrl;
}

0

পরিবেশের ভেরিয়েবল APP_URL এর মান প্রদর্শন করতে বেস urlটি পাওয়ার জন্য আমি অন্য একটি উপায় পেয়েছি

env('APP_URL')

যা http: // ডোমেন_আপনার // আপনার_উইউবসাইটের মতো বেস url প্রদর্শন করবে । এটিকে সাবধান করে নিন যে আপনি .env ফাইলে পরিবেশের পরিবর্তনশীল সেট করেছেন (এটি মূল ফোল্ডারে উপস্থিত রয়েছে)।


0

আপনি অনুরোধ থেকে এটি পেতে পারেন, লারাভেল 5 এ

request()->getSchemeAndHttpHost();

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.