পিএইচপি (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.