পিএইচপি (5.3+) এ \ (ব্যাকস্ল্যাশ) কী করবে?


172

\পিএইচপি কি করতে পারে ?

উদাহরণস্বরূপ, CSRF4PHP হয়েছে \FALSE, \session_idএবং \Exception:

public function __construct($timeout=300, $acceptGet=\FALSE){
    $this->timeout = $timeout;
    if (\session_id()) {
        $this->acceptGet = (bool) $acceptGet;
    } else {
        throw new \Exception('Could not find session id', 1);
    }
}

1
@ মারিও খুব সুন্দর স্ট্যাকওভারফ্লো বিষয়। লিঙ্কটির জন্য ধন্যবাদ :)
— আলফ্রেড

আমার ধারণা এই প্রশ্নটি বন্ধ হওয়া উচিত, তবে আমি নিজেই বিষয়গুলি বন্ধ করতে পারি না ..
— আলফ্রেড

5
এটি একটি সদৃশ, তবে একটি খারাপ প্রশ্ন নয়। তবে আপনি শিরোনামে "ব্যাকস্ল্যাশ" যুক্ত করতে পারেন, তাই অন্য কারও জন্য গুগল করা সহজ হয়ে যায়।
— মারিও 25'11

1
এটা উপলব্ধি করা জরুরী, তারা আর মেসেঞ্জার গুলি করবে না। এটি যখন আপনি খুঁজে পান, তখন আমাদের দোষ দেবেন না :) ওহ না, আমি খুব দেরীতে।
— টিম পোস্ট

উত্তর:


247

\ (ব্যাকস্ল্যাশ) হ'ল পিএইচপি 5.3 এ নাম স্থান বিভাজক।

একটি \একটি ফাংশন শুরুর আগে প্রতিনিধিত্ব করে গ্লোবাল নামস্থান ।

এটি সেখানে রাখা নিশ্চিত করবে যে নামকৃত কার্যটি বিশ্বব্যাপী নেমস্পেস থেকে এসেছে, যদিও বর্তমান নামের জায়গাতে একই নামে কোনও ফাংশন রয়েছে।


1
ধন্যবাদ! আপনি গুগল ব্যবহার করে এটি পেয়েছেন বা এটি ইতিমধ্যে জানেন: পি?
— আলফ্রেড

6
চতুর গুগলিংয়ের মাধ্যমে এটি খুঁজে পেয়েছে। আমার এখনও পিএইচপি 5.3 ব্যবহার করার সুযোগ নেই এবং উত্তরটিতে আগ্রহী ছিলাম। এক মিনিট সময় নিলেও আমি এটি খুঁজে পেলাম।
— অ্যালান গ্যালেন্স

1
শুরু হয়েছিল php backslashযার সাহায্যে এটি আমাকে নেমস্পেস বিভাজক হিসাবে বেছে নেওয়ার ফলাফল সম্পর্কে একটি নিবন্ধে নিয়ে গেছে, তারপরে php namespaceআমাকে ডকুমেন্টেশন পেয়েছে।
— অ্যালান গ্যালেন্স

20
গুগলিং "পিএইচপি ব্যাকস্ল্যাশ ফাংশনের আগে" আমাকে এখানে এনেছে।
— ইগনোসৌর

4
@ জিগনোসৌর গুগল করছে "আমি এক ফ্রন্টএন্ড ডেভ এবং পিএইচপি ভয়ঙ্কর হয়ে
— উঠছে

23

নামস্থান

পিএইচপি 5.3+ এ ব্যাকস্ল্যাশ \প্রতীক নেমস্পেসে ব্যবহৃত হয়। কোনও নেমস্পেসকে নির্দেশ করতে এটি সূচনা প্রতীক এবং সাব-নেমস্পেস নামের মধ্যে বিভাজক হিসাবেও কাজ করে।

নেমস্পেসিং সম্পর্কিত সরকারী ডকুমেন্টেশন দেখুন ।

Opcache

পিএইচপি 7.0+ এ অতিরিক্ত কিছু ফাংশন অপকড দ্বারা ওপিসি দ্বারা প্রতিস্থাপন করা হয়েছে , যা এই নির্দিষ্ট ফাংশনগুলিকে আরও দ্রুত চালিত করে run তবে এটি কেবল তখনই কাজ করে যখন ফাংশনগুলি রুট নেমস্পেসে স্থাপন করা হয়। এই বিষয় সম্পর্কে এই আলোচনা দেখুন । সুতরাং নেমস্পেসিংয়ের পাশাপাশি \পরোক্ষভাবে কোড অপ্টিমাইজেশনকেও প্রভাবিত করে।

নিম্নলিখিত স্থানীয় ফাংশনগুলি এই প্রভাব থেকে উপকৃত হয়:

"array_slice"
"assert"
"boolval"
"call_user_func"
"call_user_func_array"
"chr"
"count"
"defined"
"doubleval"
"floatval"
"func_get_args"
"func_num_args"
"get_called_class"
"get_class"
"gettype"
"in_array"
"intval"
"is_array"
"is_bool"
"is_double"
"is_float"
"is_int"
"is_integer"
"is_long"
"is_null"
"is_object"
"is_real"
"is_resource"
"is_string"
"ord"
"strlen"
"strval"

22

সম্ভাব্য বিভ্রান্তি পরিষ্কার করতে:

ব্যাকস্ল্যাশ শ্রেণীর উত্তরাধিকারকে বোঝায় না ।

নিম্নলিখিত ইন, Animal, Dog, Shepherdক্লাস, কিন্তু কেবল হতে হবে না নামব্যবধান । গ্রুপ নাম একসঙ্গে ব্যবহার করা কিছু অর্থ দুর্ঘটনায় নামকরণ এড়াতে ।

$myDog = new \Animal\Dog\Shepherd\GermanShepherd();

নেতৃস্থানীয় \উপায় Animalবিশ্বব্যাপী ঘোষণা করা হয়েছিল।


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