কীভাবে দ্রুপাল কাজ করে? [বন্ধ]


151

কেউ ড্রুপাল 7 নিয়ন্ত্রণ প্রবাহের একটি স্থাপত্য ওভারভিউ সরবরাহ করতে পারে? কীভাবে কোনও পৃষ্ঠা উত্পন্ন হবে সে সম্পর্কে সম্ভবত কোনও ফ্লোচার্টের অর্থে। ড্রুপাল কীভাবে কাজ করে সে সম্পর্কে আপনি কোন অতিরিক্ত সংস্থানগুলি পরামর্শের পরামর্শ দেবেন?


1
প্রশ্ন? তাহলে আপনি কেন নিজেকে এটি জিজ্ঞাসা করলেন না :-)
লিওরি

আমি মনে করি না যে তখন আর কোনও স্ট্যাক ওভারফ্লো ছিল। :)
জেরেমি ফরাসি

2
দ্রুপাল সম্প্রদায় সর্বদা ডকুমেন্টেশনে সহায়তা করার জন্য লোকদের সন্ধান করে। যদি ডকুমেন্টেশনগুলি আনাড়ি বা টিউটোরিয়ালগুলি খোঁড়া হয় তবে কেন সাহায্য করবেন না? :)
রিমিয়ান

4
ডকুমেন্টিংয়ের বোঝাপড়া দরকার .. যার জন্য ডকুমেন্টেশন বা অনেক অভিজ্ঞতার প্রয়োজন
ড্যামন

উত্তর:


160

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

  • ফ্রুপসাইড নিয়ামক হিসাবে দ্রুপালের সূচি.এফপি ফাইল ফাংশন। সমস্ত পৃষ্ঠা এটির মাধ্যমে পাইপ দেওয়া হয় এবং ব্যবহারকারীরা অনুরোধ করা "প্রকৃত" url / পথটি প্যারামিটার হিসাবে index.php এ চলে যায়।
  • দ্রুপালের পাথ রাউটার সিস্টেম (মেনুএপিআই) একটি প্রদত্ত প্লাগইন মডিউলে অনুরোধকৃত পাথের সাথে মেলে। এই প্লাগইন মডিউলটি পৃষ্ঠার "প্রাথমিক সামগ্রী" তৈরির জন্য দায়ী।
  • একবার প্রাথমিক পৃষ্ঠার সামগ্রী তৈরি হয়ে গেলে, সূচি.এফপি থিমকে কল করে ('পৃষ্ঠা', $ সামগ্রী), যা সামগ্রীটি দ্রুপালের থিজিং / স্কিনিং সিস্টেমের হাতে তুলে দেয়। সেখানে, এটি সাইডবার / শিরোলেখ / উইজেটস / ইত্যাদিতে মোড়ানো রয়েছে ..
  • রেন্ডার করা পৃষ্ঠাটি আবার অ্যাপাচে ফেরত দেওয়া হয় এবং এটি ব্যবহারকারীর ব্রাউজারে ফিরে পাঠানো হয়।

পুরো প্রক্রিয়া চলাকালীন, দ্রুপাল এবং তৃতীয় পক্ষের প্লাগইন মডিউলগুলি ইভেন্টগুলি বন্ধ করে দিচ্ছে, এবং তাদের প্রতিক্রিয়া জানার জন্য শুনছে। দ্রুপাল এটিকে 'হুক' সিস্টেম বলে এবং এটি ফাংশন নামকরণ কনভেনশনগুলি ব্যবহার করে প্রয়োগ করা হয়। উদাহরণস্বরূপ, 'ব্লগ' মডিউলটি ব্লগ_ইউসার () নামে একটি ফাংশন বাস্তবায়নের মাধ্যমে সম্পর্কিত 'ব্যবহারকারীকে' বাধা দিতে পারে। ড্রুপাল পার্লেন্সে এটাকে হুক_উসার () বলা হয় ।

এটি কিছুটা আড়ষ্ট, তবে পিএইচপি কৌতূহলের কারণে (এটি সমস্ত লোড ফাংশনগুলির অভ্যন্তরীণ হ্যাশটেবিল রাখে), এটি ড্রপলকে কেবল ইনস্টলড প্লাগইনগুলির একটি তালিকাতে পুনরাবৃত্তি করে দ্রুত শ্রোতাদের জন্য চেক করতে দেয়। প্রতিটি প্লাগইনের জন্য এটি উপযুক্ত নামকরণের প্যাটার্নে ফাংশন_এক্সেস্টগুলি () কল করতে পারে এবং উপস্থিত থাকলে ফাংশনটি কল করতে পারে। ("আমি 'লগইন' ইভেন্টটি চালাচ্ছি '' মায়োমডিউল_লগিন 'ফাংশনটি কি উপস্থিত আছে? আমি এটিকে কল করব' 'আপনার মডুল_লগিন' কি উপস্থিত আছে? না? 'পরের মডেল_লগিন' কীভাবে?" ইত্যাদি)) আবারও, একটি স্পর্শ ক্লানকি তবে এটি বেশ ভাল কাজ করে।

ড্রুপালে ঘটে যাওয়া সমস্ত কিছু ঘটে থাকে সেই ঘটনাগুলির একটির থেকে বরখাস্ত করার কারণে। মেনুএপিআই কেবলমাত্র ইউআরএল / পাথগুলি বিভিন্ন প্লাগইন মডিউল দ্বারা পরিচালিত হয় তা সম্পর্কে জানতে পারে কারণ এটি 'মেনু' ইভেন্টটিকে (হুক_মেনু) ফায়ার করে এবং সমস্ত মেটাডেটা প্লাগইন মডিউল দ্বারা প্রতিক্রিয়া সংগ্রহ করে। ("আমি url 'নিউজ / সাম্প্রতিক' এর যত্ন নেব এবং সেই পৃষ্ঠাটি তৈরি করার দরকার হলে কল করার জন্য এখানে ফাংশন উপস্থিত থাকবে ...") সামগ্রী কেবল সংরক্ষণ হয় কারণ দ্রুপালের ফর্মএপিআই একটি পৃষ্ঠা তৈরির জন্য দায়বদ্ধ এবং আগুন জ্বলছে একটি মডিউলের প্রতিক্রিয়া জানাতে ইভেন্টটি 'একটি ফর্ম জমা দেওয়া হয়েছিল'। প্রতি ঘন্টা রক্ষণাবেক্ষণ ঘটে কারণ হুক_ক্রোন () ট্রিগার হয় এবং ফাংশন নাম হিসাবে মাইমডিউলনেম_ক্রোন () সহ যে কোনও মডিউল তার ফাংশন বলে।

অন্য সমস্ত কিছুই শেষ পর্যন্ত কেবল বিশদ - গুরুত্বপূর্ণ বিবরণ, তবে সেই থিমের বিভিন্নতা। index.php হ'ল নিয়ন্ত্রক, মেনু সিস্টেমটি "বর্তমান পৃষ্ঠা" কী তা নির্ধারণ করে এবং সেই পৃষ্ঠাটি তৈরির প্রক্রিয়াতে প্রচুর ইভেন্টগুলি নষ্ট হয়ে যায়। প্লাগিন মডিউলগুলি সেই ইভেন্টগুলিতে ডুবে যেতে পারে এবং কর্মপ্রবাহকে পরিবর্তন করতে পারে / অতিরিক্ত তথ্য সরবরাহ করতে পারে ইত্যাদি। এটি এ কারণেরও একটি অংশ যা এতগুলি দ্রুপাল সংস্থানগুলি মডিউল তৈরিতে ফোকাস করে। মডিউল ব্যতীত, দ্রুপাল আসলে এ কথা ছাড়া অন্য কিছু করেন না, 'কেউ পৃষ্ঠা চেয়েছিল! এটি কি বিদ্যমান? কোন? ঠিক আছে, আমি একটি 404 পরিবেশন করব। '


1
এফডব্লিউআইডাব্লু, এটি ডি 7-তে কিছুটা আলাদা (থিম ('পৃষ্ঠা') চলে গেছে এবং চিহ্নগুলি এখন কোড রেজিস্ট্রিতে ক্যাশে হয়েছে), তবে সামগ্রিক প্রক্রিয়াটি একই থাকে।
এফজিএম

2
ইটনের দুর্দান্ত ব্যাখ্যা, এখানে অপেক্ষা করার জন্য ধন্যবাদ। আপনার জন্য আমার প্রশ্ন হ'ল কী হয়েছে তা সন্ধানের জন্য প্রতিটি মডিউলে var_dump লাগানো ছাড়া আপনি কীভাবে এই সমস্ত ডিবাগ করবেন?
ব্রায়ান জি

3
ভাল প্রশ্ন. এটি আপনি ডিবাগ করছেন তার উপর নির্ভর করে। ডিভেল মডিউলটি ইনস্টল করা আপনাকে কিছু দরকারী সরঞ্জাম দিয়ে সাহায্য করতে পারে। পদক্ষেপটি (বেশিরভাগ ক্ষেত্রে) একটি প্রদত্ত পৃষ্ঠা তৈরির জন্য কোন মডিউলটি দায়ী তা চিহ্নিত করছে। hook_menu () মডিউলগুলিতে url / পাথ মানচিত্র করে, যাতে সাহায্য করতে পারে। তারপরে মেনু কলব্যাকটি কী করছে তা সনাক্ত করে - একটি ফর্ম তৈরির জন্য ড্রপাল_জেট_ফর্ম () কল করুন বা এইচটিএমএল তৈরির জন্য থিম ('কিছু_ কাস্টম_থিং') ইত্যাদি ড্রপাল_এল্টার () বা মডিউল_আইভোক_ল () এর মতো অন্যান্য ক্রিয়াকলাপগুলির জন্য ফাংশন ব্যবহারের জন্য নজর রাখুন that মডিউলগুলিও ...
ইটন

আমি এই সুপার সহায়ক বলে মনে হয়েছে। আপনি কী জানেন যে ড্রুপাল 7 কীভাবে আলাদা?
হার্টটিচিউড

D7 আপডেট করুন: (এছাড়াও দেখুন) drupal.org/node/350780
dreftymac

63

ড্রুপাল পৃষ্ঠা পরিবেশন প্রক্রিয়া

ড্রুপাল কীভাবে কাজ করে তা বুঝতে, আপনাকে দ্রুপালের পৃষ্ঠা পরিবেশন প্রক্রিয়াটি বুঝতে হবে।

সংক্ষেপে, সমস্ত কল / url / অনুরোধগুলি index.php দ্বারা পরিবেশন করা হয় যা দ্রুপালকে বিভিন্ন ফাইল / মডিউল অন্তর্ভুক্ত করে এবং অনুরোধ / ইউআরএল পরিবেশন করার জন্য মডিউলে সংজ্ঞায়িত যথাযথ ফাংশন কল করে।

প্রো ড্রুপাল ডেভলপমেন্ট বইটি থেকে এখানে अर्क দেওয়া হয়েছে যা দ্রুপালের বুটস্ট্র্যাপ প্রক্রিয়াটি ব্যাখ্যা করে,

বুটস্ট্র্যাপ প্রক্রিয়া

ড্রুপাল বুটস্ট্র্যাপ পর্যায়ের কয়েকটি সিরিজ পেরিয়ে প্রতিটি অনুরোধে নিজেই বুটস্ট্র্যাপ করে। এই পর্যায়গুলি বুটস্ট্র্যাপ.ইনকে সংজ্ঞায়িত করা হয় এবং নিম্নলিখিত বিভাগগুলিতে বর্ণিত হিসাবে এগিয়ে যান।

কনফিগারেশন আরম্ভ করুন

এই ধাপটি দ্রুপালের অভ্যন্তরীণ কনফিগারেশন অ্যারেকে জনপ্রিয় করে তোলে এবং সাইটের বেস ইউআরএল ($ বেস_ুরল) প্রতিষ্ঠিত করে। সেটিংস.এফপি ফাইলটি অন্তর্ভুক্ত_অন্সে () এর মাধ্যমে বিশ্লেষণ করা হয়েছে এবং সেখানে প্রতিষ্ঠিত কোনও পরিবর্তনশীল বা স্ট্রিং ওভাররাইড প্রয়োগ করা হয়। বিশদর জন্য ফাইল সাইটের / সমস্ত / ডিফল্ট / ডিফল্ট.সেটিংস.এফপি এর "পরিবর্তনশীল ওভাররাইড" এবং "স্ট্রিং ওভাররাইড" বিভাগ দেখুন।

প্রারম্ভিক পৃষ্ঠা ক্যাশে

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

ডাটাবেস সূচনা

ডাটাবেস পর্বের সময়, ডাটাবেসের ধরণটি নির্ধারিত হয় এবং একটি প্রাথমিক সংযোগ তৈরি করা হয় যা ডাটাবেস প্রশ্নের জন্য ব্যবহৃত হবে।

হোস্ট-নেম / আইপি-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ

ড্রুপাল প্রতি হোস্টনাম / আইপি ঠিকানা ভিত্তিতে হোস্টকে নিষিদ্ধ করার অনুমতি দেয়। অ্যাক্সেস নিয়ন্ত্রণের পর্যায়ে, নিষিদ্ধ হোস্টের কাছ থেকে অনুরোধটি আসছে কিনা তা দেখার জন্য একটি দ্রুত চেক করা হয়; যদি তা হয় তবে অ্যাক্সেস অস্বীকার করা হয়।

সেশন হ্যান্ডলিং শুরু করুন

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

লেট পেজ ক্যাশে

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

ভাষা নির্ধারণ

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

পথ

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

সম্পূর্ণ

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

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

যখন দ্রুপাল নির্ধারণ করেছে যে ব্রাউজারের ইউআরএল সফলভাবে ম্যাপ করার অনুরোধ করে এবং সেখানে সেই কলব্যাক অ্যাক্সেস করার ব্যবহারকারীর অনুমতি রয়েছে তখন কলব্যাক ফাংশনটিতে নিয়ন্ত্রণ হস্তান্তর করা হয়।

একটি অনুরোধ প্রক্রিয়া করা হচ্ছে

অনুরোধটি পূরণের জন্য প্রয়োজনীয় ডেটা প্রক্রিয়া করতে এবং জমা করার জন্য কলব্যাক ফাংশন যা কিছু কাজ প্রয়োজন তা করে। উদাহরণস্বরূপ, যদি http://example.com/ q = নোড / 3 এর মতো সামগ্রীর জন্য একটি অনুরোধ পাওয়া যায়, তবে URL নোড.মডিউলে নোড_পেজ_ভিউ () ফাংশনটিতে ম্যাপ করা হয়। পরবর্তী প্রক্রিয়াজাতকরণ ডাটাবেস থেকে সেই নোডের জন্য ডেটা পুনরুদ্ধার করবে এবং এটি একটি ডেটা স্ট্রাকচারে রাখবে। তারপরে, তাদের সময় দেওয়ার সময় এসেছে।

তথ্য থিমিং

থিমিংয়ের মধ্যে পুনরুদ্ধার, ম্যানিপুলেট করা বা HTML (বা এক্সএমএল বা অন্যান্য আউটপুট ফর্ম্যাট) তৈরি করা ডেটা রূপান্তর করা জড়িত। দ্রুপাল ওয়েবপৃষ্ঠাকে সঠিক চেহারা ও অনুভূতি দেওয়ার জন্য প্রশাসক চয়ন করেছেন থিমটি ব্যবহার করবে। ফলস্বরূপ আউটপুটটি ওয়েব ব্রাউজারে (বা অন্যান্য এইচটিটিপি ক্লায়েন্ট) প্রেরণ করা হয়।


20

ইটনের উত্তরটি একটি ভাল ওভারভিউ সরবরাহ করে। (আমি এখানে নতুন তাই আমি তাকে আপ করতে পারি না, এভাবে মন্তব্য।)

আমার জন্য নির্মম "আহা" মুহুর্তটি অনুগ্রহ করে সমস্ত কিছু ঘটেছিল সূচক.এফপি এর মাধ্যমে এবং তারপরে মডিউলগুলির জলপ্রপাতের মাধ্যমে (প্রথমে কোর, তারপরে সাইট)। মূল কার্যকারিতা বাড়ানোর জন্য এটি পুনরায় লিখবেন না। পরিবর্তে মডিউলটিকে / সাইটগুলি / সমস্ত / মডিউল / বা / সাইটগুলি [[thyite]] মডিউলগুলিতে অনুলিপি করুন এবং এটি প্রসারিত করুন বা সেই জায়গাগুলিতে একটি নতুন মডিউল তৈরি করুন। থিম জন্য একই। মডিউল ডিরেক্টরিতে ডিসপ্লে কোডও থাকতে পারে, টিপিএল, সিএসএস ইত্যাদি আকারে can

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

হাস্যকরভাবে, "স্রেফ একটি অ্যাপ্লিকেশন তৈরি করুন" এটি জানার সবচেয়ে খারাপ উপায় হতে পারে। ড্রপাল বাক্সের বাইরে এমন অনেক কিছুই করে যা আপনি নিয়ন্ত্রণ প্রবাহটি না বের করা অবধি অস্পষ্ট। টিপিএল ফাইলে এমন কিছু নেই যা আপনাকে জানায় যে l () এর মতো মজাদার নামের ফাংশনটি কোথা থেকে এসেছে for


7

এটি নির্ভর করে আপনি কত গভীর বোঝার সন্ধান করছেন; যদি আপনার পিএইচপি সম্পর্কে ভাল জ্ঞান থাকে তবে আমি কোডটি নিজেই সূচীপত্রে শুরু করে সূচী। পিপিপি থেকে শুরু করে এবং তারপরে / বুটস্ট্র্যাপ.ইনক এবং তারপরে সেই ডিরেক্টরিতে থাকা অন্যান্য স্ক্রিপ্টগুলির কিছুতে যেতে পরামর্শ দেব।

কীটিতে ফাইলগুলি অন্তর্ভুক্ত রয়েছে:

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

মডিউল / ডিরেক্টরিতে কিছু মূল কার্যকারিতাও রয়েছে; বিশেষত, মডিউলগুলি / নোড / নোড mod

কোডটি, সাধারণভাবে, খুব ভাল মন্তব্য করা এবং পরিষ্কার clear মন্তব্যের মধ্যে ডক্সিজেন মার্কআপ ব্যবহারের অর্থ কোড কার্যকরভাবে কোডিনিক ডকুমেন্টেশন।

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


5

নেটবিন প্রজেক্টে ড্রুপাল .এফপিপি কোড আমদানি করে লোড শিখেছি। তারপরে আপনি নেটবিন্স ডিবাগারটি চালাতে পারেন এবং পৃষ্ঠার বিভিন্ন পর্যায় একসাথে দেখতে পারেন।


5

বিষয়টির সেরা বইগুলি হ'ল "প্রো দ্রুপাল বিকাশ" এবং "দ্রুপাল ব্যবহার করা।"

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

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


5

এটি (দ্রুপাল for এর জন্য) এবং এটি (দ্রুপাল for এর জন্য) ড্রুপালের একটি দুর্দান্ত ভাল স্থাপত্য ওভারভিউ is আপনি যদি আরও বিশদ চান তবে বেশিরভাগ ডকুমেন্টেশন ভালই লিখতে শুরু করব । অর্জনের জন্য কংক্রিটের কিছু ছাড়াই এটিকে উচ্চ স্তরের বিশদে জানার চেষ্টা করা কিছু চেষ্টা করা আরও কঠিন হবে।


4

এখানে নতুন অবদানকারী, কথোপকথনে 2 বছর দেরী ;-)

জবাবে https://stackoverflow.com/a/1070325/1154755

মূল কার্যকারিতা বাড়ানোর জন্য এটি পুনরায় লিখবেন না। পরিবর্তে মডিউলটিকে / সাইটগুলি / সমস্ত / মডিউল / বা / সাইটগুলি [[thyite]] মডিউলগুলিতে অনুলিপি করুন এবং এটি প্রসারিত করুন বা সেই জায়গাগুলিতে একটি নতুন মডিউল তৈরি করুন। থিম জন্য একই।

আসলে, এটি আপডেট করার জন্য আমাকে কখনই কোনও মডি মডিউল কপি করতে হয়নি। ড্রুপাল হুকগুলি আপনার প্রয়োজনীয় সমস্ত হওয়া উচিত।

থিমগুলির জন্য, হ্যাঁ, কখনও কখনও এটি যাওয়ার একমাত্র উপায় তবে প্রায়শই, আপনি যে ফলাফলটি প্রয়োজন তা পেতে আপনি একটি উপশির তৈরি করতে পারেন।

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