পিএইচপি কীওয়ার্ড 'ভার' কী করে?


427

এটি সম্ভবত খুব তুচ্ছ প্রশ্ন, তবে আমি ওয়েব অনুসন্ধান ইঞ্জিনের মাধ্যমে, বা পিএইচপিএন-তে উত্তর সন্ধান করতে পারিনি। আপনি যদি ব্যাখ্যা করার সময় না পেয়ে থাকেন তবে দয়া করে আমাকে কেবল যেখানেই এই বিষয়ে পড়তে পারি আমাকে নির্দেশ দিন।

  1. পিএইচপি-তে 'ভার' কীওয়ার্ডটির অর্থ কী?
  2. পিএইচপি 4 এবং পিএইচপি 5 এর মধ্যে কোনও পার্থক্য রয়েছে?

4
আমার ধারণা আপনি যখন জুলাই 30, 2009-এ এই প্রশ্ন জিজ্ঞাসা করেছিলেন, এটি এখনও php.net/manual/en/language.oop5.visibility.php এ প্রকাশিত হয়নি ?: "দ্রষ্টব্য: পিএইচপি 4 এর সাথে একটি ভেরিয়েবল ঘোষণার পদ্ধতি var কীওয়ার্ডটি এখনও সামঞ্জস্যতার কারণে (পাবলিক কীওয়ার্ডের প্রতিশব্দ হিসাবে) সমর্থিত PH অথবা আপনি এটি খুঁজে পেতে পারে না। তবে উত্তরটি পরিষ্কারভাবে php.net এ বলা হয়েছে।
জায়েম মন্টোয়া

এই বছরগুলিতে পিএইচপি কি ভ্রমণ করেছে তা দেখতে সত্যিই আশ্চর্যজনক!
মেহরদাদ শোকরি

উত্তর:


384

এটি পিএইচপি 4 এ ক্লাসের সদস্য ভেরিয়েবলগুলি ঘোষণার জন্য, এবং এর আর প্রয়োজন হয় না। এটি E_STRICTপিএইচপি 5 এ কাজ করবে, তবে পিএইচপি-তে 5.0.0 সংস্করণ থেকে 5.1.2 সংস্করণ পর্যন্ত একটি সতর্কতা বাড়িয়ে তুলবে , যখন এটি অবহেলা করা হয়েছিল। পিএইচপি 5.3-এর পরে, ভার অ-অবচয় করা হয়েছে এবং এটি 'পাবলিক' এর প্রতিশব্দ।

ব্যবহারের উদাহরণ:

class foo {
    var $x = 'y'; // or you can use public like...
    public $x = 'y'; //this is also a class member variables.
    function bar() {
    }
}

10
"নোট: সঙ্গে একটি পরিবর্তনশীল প্রকাশক পিএইচপি 4 পদ্ধতি varশব্দ এখনো সামঞ্জস্য কারণে সমর্থিত (জন্য সমার্থক হিসেবে publicশব্দ) ইন পিএইচপি 5 5.1.3 আগে, ব্যবহারের একটি জেনারেট হবে। E_STRICTসাবধানবাণী।" php.net/manual/en/language.oop5.visibility.php সম্পাদনা: আমি সবেমাত্র দেখেছি যে ইতিমধ্যে অন্য উত্তরে উদ্ধৃত করা হয়েছে । তবে আপনার সেই অনুযায়ী আপনার সম্পাদনা করা উচিত।
Sk8erPeter

এটি বোঝায় যে সদস্য ভেরিয়েবলের জন্য কীওয়ার্ডটি ব্যবহার করা প্রয়োজনpublic । এটা কি সত্যি? একজনকে কি সহজভাবে বলা যায় না $x;?
চুন চূড়ান্তভাবে

1
সুতরাং পিএইচপি-র অবহ্রাসিত সংস্করণগুলির সাথে কাজ করার বিষয়ে আমরা উদ্বিগ্ন না হওয়ায় কেবল সরকারী / বেসরকারী এবং সম্পূর্ণরূপে বিভিন্ন উপেক্ষা করার পরামর্শ দেওয়া উচিত?
নুডলঅফডিথ

1
2019 হিসাবে: php-fig.org/psr/psr-12/#43-properties- এবং- কনস্ট্যান্টসগুলি যেগুলিvar ব্যবহার করা উচিত নয় এবং সমস্ত বৈশিষ্ট্যে দৃশ্যমানতা ঘোষণা করতে হবে states
চার্লস উড

79

varশব্দ ব্যবহার করা হয় পিএইচপি 4 কোন ক্লাসে ঘোষণা ভেরিয়েবল :

class Foo {
    var $bar;
}

পিএইচপি 5 সম্পত্তি এবং পদ্ধতি দৃশ্যমানতা ( public, protectedএবং private) চালু করা হয় এবং এইভাবে varঅসমর্থিত হয়েছে।


17
পিএইচপি 5.3 var
অবনমিত হয়

8
যদি এটি অবনমিত হয়, 5.3-এ এখন সেরা অনুশীলন - এটি ব্যবহার করার জন্য বা এটি ব্যবহার না করার জন্য? আপনি কি এটি ব্যবহার করতে পারেন private var $foo = 'bar';?
টম অগার

1
কেউ কেন জানেন যে কেন এটি অবমূল্যায়ন করা হয়েছিল?
সাইমন ইস্ট

19
এটি 5.1.3 এ অনির্দিষ্ট করা হয়েছিল - প্রদত্ত কেবলমাত্র কারণগুলি "সামঞ্জস্যের কারণে" । আমি মনে করি সেরা অনুশীলনটি কেবল তখনই ব্যবহার করতে হয় যদি আপনার পিএইচপি 4 এর সাথে সামঞ্জস্যপূর্ণ হতে হয় তবে অবশ্যই করবেন না private var- যা পিএইচপি 5varpublic
তে

2
varএটি সত্যিকারের প্রতিশব্দ নয় publicকারণ এটি স্থির সদস্য বা স্থির ঘোষণার জন্য ব্যবহার করা যায় না।
কলিন ওডেল

27

আমি http://www.php.net/manual/en/language.oop5.visibility.php থেকে উদ্ধৃতি দিচ্ছি

দ্রষ্টব্য: ভার কীওয়ার্ডের সাথে ভেরিয়েবল ঘোষণার পিএইচপি 4 পদ্ধতিটি এখনও সামঞ্জস্যতার কারণে (পাবলিক কীওয়ার্ডের প্রতিশব্দ হিসাবে) সমর্থিত। পিএইচপি 5-তে 5.1.3 এর আগে, এর ব্যবহারটি একটি E_STRICTসতর্কতা তৈরি করবে ।


আমি পরীক্ষা দিয়েছি। ফেরেনি E_STRICT! Sandbox.onlinephpfunitions.com/code/…
ওয়ালেস ম্যাক্সটার

1
@ ওলেসেসেউউজা, কারণ আপনি নিজের উদাহরণে পিএইচপি 7 ব্যবহার করেছেন। এটি কেবল 5.0
5.1.3

8

উত্তর: থেকে পিএইচপি 5.3 এবং >, varশব্দ সমতূল্য publicযখন একটি ক্লাসের ভিতরে ভেরিয়েবল ঘোষণা।

class myClass {
  var $x;
}

( পিএইচপি 5.3 এবং এর জন্য >) এর মতো:

class myClass {
  public $x;
}

ইতিহাস: ক্লাসে ভেরিয়েবল ঘোষণার জন্য এটি আগে আদর্শ ছিল, যদিও পরে অবমাননিত হয়ে পড়েছিল তবে পরে (পিএইচপি ৫.৩) এটি অন-মূল্যহ্রাসে পরিণত হয়েছিল।


5

সুতরাং মূলত এটি একটি পুরানো স্টাইল এবং এটি পিএইচপি-র নতুন সংস্করণের জন্য ব্যবহার করবেন না। পরিবর্তে পাবলিক কীওয়ার্ড ব্যবহার করা ভাল; যদি আপনি ভার্ শব্দটির কীওয়ার্ডের সাথে প্রেমে না থাকেন। পরিবর্তে ব্যবহার না করে

class Test {
    var $name;
}

ব্যবহার

class Test {
   public $name;
}

কেন আপনি বলেন? varআমি শুনিনি যে অবমানিত হওয়ার সংবাদ আছে ? দু'জনের সমার্থক হওয়া উচিত
ন্যাপিংরবিট

পিএইচপি ম্যানুয়াল থেকে: "ভার কীওয়ার্ডের সাথে ভেরিয়েবল ঘোষণার পিএইচপি 4 পদ্ধতিটি এখনও সামঞ্জস্যতার কারণে (পাবলিক কীওয়ার্ডের প্রতিশব্দ হিসাবে) সমর্থিত" " php.net/manual/en/language.oop5.visibility.php
তোমার্ক


1

var জনসাধারণের মতো ব্যবহার করা হয় if যদি এর অর্থ শ্রেণীর জন্য সর্বজনীন হয়। সরল কথায় ভ্যার ~ পাবলিক

var $a;
public

0

এখানে এবং এখন চলক ঘোষণার জন্য 2018ব্যবহার varকরা publicহিসাবে হিসাবে সমার্থক

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

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