পিএইচপি নেমস্পেসগুলি মূল্যায়ন করছে


11

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

নেমস্পেসের বিরুদ্ধে বিবেচনার কয়েকটি বিষয়:

  • আমার প্রকল্পটি অনুরূপ অন্যান্য প্রকল্পগুলির তুলনায় একটি সহজ API সরবরাহ করে নিজেকে আলাদা করার চেষ্টা করছে। কারণ নেমস্পেসগুলি নতুন এবং এছাড়াও পিয়ার নামকরণ কনভেনশনের তুলনায় আরও জটিল বিধায় কোডবেসে তাদের পরিচয় করানো আমার প্রকল্পটি ব্যবহার করা সহজতর করবে। এগুলি প্রয়োগ করে, আমি সহজেই ব্যবহারের দিক থেকে কিছুটা পার্থক্য হারাচ্ছি।
  • যদিও আমি নেমস্পেসের কিছু সুবিধা দেখতে পাচ্ছি, তারা পিয়ার নামকরণ কনভেনশন ব্যবহার করে এমন একটি আধুনিক পিএইচপি পণ্যটিতে সমাধান করা দরকার এমন কোনও সমস্যার সমাধান বলে মনে হচ্ছে না। আমার প্রকল্পটি ব্যবহার করার সময় নামকরণের দ্বন্দ্বগুলি অস্তিত্বহীন না হলে ন্যূনতম হওয়া উচিত।
  • এই নিবন্ধটি আমাকে নেমস্পেস গ্রহণের ক্ষেত্রে কিছুটা বিরতি দেয় কারণ তাদের প্রয়োগটি তারকাদের চেয়ে কম ছিল।
  • আমি এমন ব্যান্ডওয়্যাগনে ঝাঁপিয়ে পড়তেও দ্বিধা বোধ করি যা সম্ভবত কোথাও না যেতে পারে। যেহেতু নেমস্পেসগুলি পিএইচপি-র নতুন বৈশিষ্ট্য, আমি এখনও নিশ্চিত নই যে তারা মানক হয়ে উঠবে।
  • সামঞ্জস্যের। যে পিএইচপি কোডটি লেখা হয়েছে তার প্রায় সবগুলিতেই এটি নতুন বৈশিষ্ট্য হিসাবে নেমস্পেস ব্যবহার করে না। অন্যান্য গ্রন্থাগার কোনও রূপান্তর ছাড়াই বেমানান হবে।

নেমস্পেস ব্যবহার করার জন্য কিছু পয়েন্ট:

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

আমি যা বলতে পারি সেগুলি থেকে আপনাকে অবশ্যই একটি উপায় বা অন্যটি বেছে নিতে হবে; আপনি উভয় করতে পারবেন না। এমন কোন পয়েন্ট আছে যা আমি বিবেচনা করি নি? নেমস্পেসগুলি পিএইচপি-র জন্য পেশাদার মান হয়ে ওঠার বিরুদ্ধে বা বিপরীতে কোনও উদ্দেশ্যমূলক লক্ষণ রয়েছে (দয়া করে কোনও ফ্লেয়ারওয়ার নেই?)? আমি শীঘ্রই সিদ্ধান্ত নেওয়ার প্রয়োজন হিসাবে আপনি যে কোনও অন্তর্দৃষ্টি বা সংস্থানগুলি ভাগ করতে ইচ্ছুক হন তা আমি উপলব্ধি করব।

উত্তর:


5

দুটি চিহ্ন যা পিএইচপি-তে নামস্থান এখানে থাকার জন্য রয়েছে:

  1. PEAR নামকরণ প্রকল্পটি PEAR2 এ নাম স্থানগুলির পক্ষে ছেড়ে দেওয়া হয়েছিল ।
  2. জেন্ডার ফ্রেমওয়ার্ক ২.০-এর বর্ণিত লক্ষ্যগুলির মধ্যে একটি হ'ল পিএইচপি 5.3 ব্যবহারের উদাহরণ , অন্য জিনিসগুলির মধ্যেও পুরোপুরি নেমস্পেস ব্যবহার করে usage আমি এটিকে দৃ strong় ইঙ্গিত হিসাবে বিবেচনা করি যে জেনড নামস্থানগুলির প্রতি পুরোপুরি প্রতিশ্রুতিবদ্ধ এবং তাদের সমর্থন এবং বিবর্তন অব্যাহত রাখবে (আশা করি আরও উন্নত হওয়ার জন্য)।

আপনার সাথে আমি সম্পূর্ণরূপে একমত যে, নেমস্পেসগুলির বর্তমান প্রয়োগের অভাব রয়েছে, বলা যায়, তবে এগুলি ব্যবহারের বিরুদ্ধে আপনার যুক্তি এতটা শক্ত নয়। এমনকি তাদের বর্তমান ফর্মের মধ্যে, নেমস্পেসগুলি এর জন্য সরবরাহ করে:

  • আরও ভাল কোড সংগঠন,
  • সংঘর্ষের নামকরণ এড়ানো,
  • ক্লাস, ফাংশন এবং ধ্রুবকগুলির জন্য প্রসঙ্গ।

মনে রাখবেন যে পিএইচপি নেমস্পেসের বিরুদ্ধে সর্বাধিক যুক্তিগুলি অন্যান্য ভাষায় বাস্তবায়নের সাথে তুলনা করে নয় কোনও বৈশিষ্ট্য হিসাবে তাদের আসল যোগ্যতার বিরুদ্ধে।


লিঙ্কগুলির জন্য +1। আপনি কি আরও ভাল কোড সংস্থা এবং প্রসঙ্গ পয়েন্টগুলিতে প্রসারিত করতে পারেন? এটি কীভাবে আরও উন্নত কোড সংগঠন সরবরাহ করে তা বুঝতে আমার একটু সময় হয়েছে a মনে হচ্ছে বেশিরভাগ প্রকল্পগুলি যৌক্তিক ডিরেক্টরিগুলিতে দলবদ্ধ কাঠামো ফাইল করার জন্য 1: 1 শ্রেণীর সাথে লেগে থাকবে, যেমন আপনি পিয়ার নামকরণ প্রকল্পে ব্যবহার করবেন। এমনকি জেডএফ 2 দেখে মনে হচ্ছে এটি বেশিরভাগ ক্ষেত্রে একই ডিরেক্টরি এবং ফাইল স্ট্রাকচার ব্যবহার করছে তবে ঠিক এখনই নেমস্পেসের সাহায্যে। এটি পৃথক, তবে আমি প্রথমে সুনামযুক্ত ডিরেক্টরি এবং ফাইলগুলির চেয়ে এটি আরও ভাল বা আরও সুসংগতভাবে দেখতে চাই না।
ভার্চুসিমিডিয়া

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

@ ভার্টুওসিমিডিয়া পিয়ার এবং পুরাতন জেডএফ নামকরণের স্কিমগুলি নাম স্থানগুলি অনুকরণ করে , সুতরাং আমার তিনটি বিষয় তাদের জন্য কিছুটা সত্য are আমি যে বিষয়টি উল্লেখ করতে চাইছি তা হ'ল যদি এই পয়েন্টগুলি বর্তমান পিএইচপি নামস্থানগুলির বাস্তবায়নের ক্ষেত্রে সত্য হয় তবে তাদের ছোট স্ন্যাফাস সেগুলি ব্যবহার না করার পক্ষে যথেষ্ট নয়। আরও ভাল কোড সংস্থার সাহায্যে আমি বেশিরভাগ ফাইল জুড়েই বোঝাতে চাইছি, আপনার ক্লাসের জন্য একটি বুদ্ধিমান এবং যৌক্তিক কাঠামো এবং শ্রেণিবিন্যাস গ্রহণ করা, এটি অবশ্যই নামস্থান ছাড়াই সম্ভব হবে without তবে নেমস্পেস (এবং তাদের অনুকরণকারী স্কিমগুলি ) এমন একটি বৈশিষ্ট্য যা আপনাকে একবারে তিনটি পয়েন্ট অর্জন করতে সহায়তা করে।
ইন্নিস

Gotcha। স্পষ্টতার জন্য ধন্যবাদ। আপনি কি এমুলেটেড নেমস্পেসের উপরে প্রকৃত নামস্পেসের জন্য উল্লেখযোগ্য সুবিধা দেখতে পাচ্ছেন ?
ভার্চুসিমিডিয়া

1
@ ভার্চুসিমিডিয়া আপনার প্রশ্নের উপর করা নেমস্পেসগুলি ব্যবহার করার জন্য সমস্ত পয়েন্ট বৈধ। তার সাথে আমি যুক্ত করব যে পিএইচপি নামের স্থানগুলি আপনার ব্যাকগ্রাউন্ডের কোডারগুলিতে কিছুটা বেশি প্রাকৃতিক বোধ করতে সহায়তা করে, এটি একটি বড় প্রকল্পে অমূল্য হতে পারে something এছাড়াও এমুলেটেড নেমস্পেসের জন্য কোনও স্ট্যান্ডার্ড নেই , নিশ্চিত যে তাদের বেশিরভাগই একই রকম তবে প্রকৃত নেমস্পেস ব্যবহার নিশ্চিত করে যে সবাই একই স্কিমা ব্যবহার করছে। বিটিডাব্লু সেখানে একটি নেমস্পেসার রয়েছে যেখানে আপনি নিজের কোডটির নাম নির্দিষ্ট করতে পারেন।
ইয়ানিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.