লারাভেল 5: শ্রেণি 'ইনপুট' পাওয়া যায় নি


114

আমার routes.phpফাইলে আমার রয়েছে:

Route::get('/', function () {

    return view('login');
});

Route::get('/index', function(){
    return view('index');
});

Route::get('/register', function(){
    return view('register');
});
Route::post('/register',function(){

    $user = new \App\User;
    $user->username = input::get('username');
    $user->email  = input::get('email');
    $user->password = Hash::make(input::get('username'));
    $user->designation = input::get('designation');
    $user->save();

});

আমি ব্যবহারকারীদের নিবন্ধনের জন্য একটি ফর্ম আছে। আমি ফর্ম ইনপুট মান গ্রহণ করছি routes.php

কিন্তু ত্রুটিটি উপস্থিত হয় যখন আমি কোনও ব্যবহারকারীকে নিবন্ধিত করি। ত্রুটি:

FatalErrorException in routes.php line 61:
Class 'input' not found

উত্তর:


275

এটা হয় Inputএবং না inputএই প্রতিশ্রুতিটি মুছে ফেলা Inputহয়েছে config/app.phpতাই এখান থেকে আপনাকে ম্যানুয়ালি aliasesনীচে হিসাবে অ্যারেতে যুক্ত করতে হবে ,

'Input' => Illuminate\Support\Facades\Input::class,

অথবা আপনি Inputপ্রয়োজন অনুসারে সরাসরি সম্মুখস্থ আমদানি করতে পারেন ,

use Illuminate\Support\Facades\Input;

আমি যদি লারাভেল 5.2 তে ফর্মগুলির জন্য লারাভেলক্লিকটিভ ব্যবহার করি এবং আমি শফির মতো রুটে নয়, একটি দৃষ্টিতে {{ফর্ম} use ব্যবহার করি। {{ Form::text('name', Input::old('name'), array('class' => 'form-control')) }}
nclsvh

2
আপনি বিশ্বব্যাপী এটি অ্যাক্সেস করতে \ ইনপুট ব্যবহার করতে পারেন
গোলাপী ভ্যানসিয়া

আমার কীভাবে বা কোথায় এটি লাগাতে হবে? ইনপুটটিকে \ ইনপুট (ফর্ম ট্যাগগুলির অভ্যন্তরে) পরিবর্তন করা কার্যকর হয় না .. এছাড়াও আমি আলোকিত \ সমর্থন \ মুখোমুখি ব্যবহার করছি না .. তবে"laravelcollective/html": "5.2.*"
nclsvh

দুঃখিত আমি আপনার আগের মন্তব্যে মনোযোগ দিই নি তবে এইচটিএমএলে আপনি সহায়ক ফাংশন পুরানো () ব্যবহার করতে পারেন যা ইনপুট :: পুরানো ()
গোলাপী ভ্যানসিয়া

@NicolasV আপনি নীচে লাগাতে পারেন aliasesভিতরে config/app.phpহিসেবে Nvan এর উত্তর পয়েন্ট আউট
নিক সুমেকো

28

লারাভেল < 5.2 এর জন্য :

ক্লাসটি খুলুন config/app.phpএবং এতে যুক্ত করুন :Inputaliases

'aliases' => [
// ...
  'Input' => Illuminate\Support\Facades\Input::class,
// ...
],

লারাভেল >= 5.2 এর জন্য

পরিবর্তন Input::করুনRequest::


26

আপনি নিজের মধ্যে একটি মুখোমুখি যুক্ত করতে পারেন folder\config\app.php

'Input' => Illuminate\Support\Facades\Input::class,

23

লারাভেল 5.2 ইনপুট :: অনুরোধ :: এর সাথে প্রতিস্থাপিত হয়েছে

ব্যবহার

Request::

নিয়ামক বা অন্য কোনও শ্রেণীর শীর্ষে যুক্ত করুন

use Illuminate\Http\Request;

5

প্রথমে আপনার সমস্যাটি ইনপুট শ্রেণীর বানান সম্পর্কে, ইনপুট পরিবর্তে ইনপুট হওয়া উচিত। এবং আপনাকে ভাল নেমস্পেস সহ ক্লাসটি আমদানি করতে হবে।

use Illuminate\Support\Facades\Input;

আপনি যদি এটি 'ইনপুট' না বলে 'ইনপুট' বলে থাকেন তবে এটি যুক্ত করুন:

use Illuminate\Support\Facades\Input as input;

দ্বিতীয়ত, রুট.এফপি এর মাধ্যমে ডাটাবেসে সংরক্ষণ করার এটি একটি নোংরা উপায় এবং আপনি ডেটা বৈধকরণের প্রক্রিয়া করছেন না। যদি কোনও প্রেরিত প্যারামিটার আপনার প্রত্যাশা মতো না হয়, তবে কোনও এসকিউএল ত্রুটি উপস্থিত হবে যা এটি ডেটা টাইপের কারণে ঘটে। নিয়ামক পদ্ধতিতে মডেলটির মাধ্যমে তথ্য এবং সঞ্চয় করার জন্য আপনার নিয়ন্ত্রণকারী ব্যবহার করা উচিত।

রুট.এফপি ফাইলটি রাউটিং পরিচালনা করে। এটি নিয়ামক এবং জিজ্ঞাসিত রুটের মধ্যে লিঙ্ক তৈরি করার জন্য ডিজাইন করা হয়েছে।

নিয়ামক, মিডলওয়্যার, মডেল, পরিষেবা সম্পর্কে শিখতে ... http://laravel.com/docs/5.1/

আপনার যদি আরও কিছু তথ্যের প্রয়োজন হয় তবে সমস্যার সমাধান সম্পর্কে আপনি এই সম্প্রদায়টিতে যোগদান করতে পারেন: https://laracast.com/

শুভেচ্ছা।



4

এলিয়াসগুলির অধীনে কনফিগারেশন / অ্যাপ.পিএফ-এ ঘোষণা: -

'Input' => Illuminate\Support\Facades\Input::class,

অথবা আপনি প্রয়োজন হিসাবে সরাসরি ইনপুট সম্মুখের আমদানি করতে পারেন,

use Illuminate\Support\Facades\Input;

অথবা

use Illuminate\Support\Facades\Input as input;


1

এই পরিষ্কার কোড স্নিপেটটি আমার পক্ষে ভাল কাজ করে:

use Illuminate\Http\Request;
Route::post('/register',function(Request $request){

   $user = new \App\User;
   $user->username = $request->input('username');
   $user->email  = $request->input('email');
   $user->password = Hash::make($request->input('username'));
   $user->designation = $request->input('designation');
   $user->save();
});

0

এটিকে এলিয়াসগুলির অধীনে কনফিগারেশন / অ্যাপ.ফ্পে যুক্ত করুন: -

'Input' => Illuminate\Support\Facades\Input::class,


0

এটি লারাভেল 6. এ পরিবর্তিত হয়েছে এখানে আরও তথ্যের জন্য দেখুন

App.php এবং অন্য কোথাও কিছুই করবেন না, কেবল প্রতিস্থাপন করুন

ইনপুট :: অনুরোধ সহ :: get () :: ইনপুট ()

এবং

উপরে যেখানে আপনি ইনপুট এ গিয়ে, ভ্যালিডেটার, হ্যাশ ইত্যাদি অপসারণ ডিক্লেয়ার ইনপুট এবং অ্যাড অনুরোধ

যেমন কিছু ব্যবহার করুন:

কনফিগার, ডিবি, ফাইল, হ্যাশ, ইনপুট , পুনর্নির্দেশ, অধিবেশন, দেখুন, যাচাইকরণকারী, অনুরোধ ;

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