ডিবাগ এক্সটেনশনগুলি / বিকাশকারী মোড পর্যাপ্ত সুরক্ষা ব্যবহার করে


18

Magento বিকাশকারীদের জন্য কিছু দুর্দান্ত এক্সটেনশন রয়েছে যা আপনি সাধারণত কোনও লাইভ সিস্টেমে রাখতে চান না।

কীভাবে আপনি এগুলি প্রকল্পের ভাণ্ডারে রাখতে পারেন তবে সেগুলি সরাসরি কোনও দোকানে উন্মুক্ত করা এড়াতে পারেন?

উত্তর:


20

এটি করার জন্য দুটি তুলনামূলকভাবে নতুন কৌশল রয়েছে:

  • মোডম্যান ব্যবহার করুন যাতে আপনি প্রতিটি পরিবেশের জন্য কী স্থাপন করবেন তা নিজের দ্বারা নিয়ন্ত্রণ করতে সক্ষম হবেন। এর অর্থ আপনি modman deploy [name-of-dev-extension]কেবলমাত্র আপনার দেব পরিবেশে চলেছেন।

  • বিভিন্ন পরিবেশের জন্য বিভিন্ন দৃশ্যের সাথে ম্যাজেন্টো-সুরকার ব্যবহার করুন composer.json। এমনকি আরও সহজ উপায় হ'ল extension এক্সটেনশানগুলি ডেভ-মডিউল হিসাবে নির্দিষ্ট করা এবং তারপরে --require-devআপনার বিকাশ মেশিনে স্যুইচ ব্যবহার করে প্রকল্পটি ইনস্টল করা ।


1
মোডম্যানকে রেফারিং করার জন্য + এক :) চমৎকার বিকল্প
টুন ভ্যান

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

@ অ্যালেক্স: দয়া করে আমার সম্পাদনা দেখুন।
ব্যবহারকারী 487772

@ টিম: ধন্যবাদ! আমি এখন আপনার উত্তর সম্পাদনা করেছি।
অ্যালেক্স

@ অ্যালেক্স: ধন্যবাদ আমি এটি জানতাম না :-)
ব্যবহারকারীর 487772

10

এগুলি সাধারণত একটি কনফিগারেশন পতাকা সহ সুবিধামত অক্ষম করা যেতে পারে, তাই তারা প্রযুক্তিগতভাবে সক্রিয় তবে কিছু করছে না। আপনি যদি এই লাইভটিকে app/etc/local.xmlআপনার লাইভ সিস্টেমে মিথ্যাতে সেট করেন তবে আপনার ভাল হওয়া উচিত।


আপনি যদি নিজের local.xmlফাইলটি রেপোতে না রাখতে চান তবে এটি একটি ভাল সমাধান । যা একটি কেস হতে পারে।
ব্যবহারকারী 487772

দুর্দান্ত উত্তর - local.xmlসাধারণত রেপোতে থাকে না
অ্যালেক্স

6

সম্প্রতি বার্লিনের ম্যাজেন্টো হ্যাকাথনে তৈরি করা হয়েছে এমন ম্যাগট্রেশ অ্যাপ দেখুন । আপনাকে অ্যাডমিন প্যানেলের মাধ্যমে মডিউলগুলি ডি-অ্যাক্টিভেট করার অনুমতি দেয়।


5

এটি করার একটি সহজ উপায় হ'ল, / etc / মডিউলগুলিতে মডিউলটি অক্ষম করা, এটি পুশ করা, স্থানীয়ভাবে ফাইলটিকে উপেক্ষা করুন এবং এটি আবার সক্ষম করুন।


এক্ষেত্রে আপনি এক্সটেনশানগুলি বুটস্ট্র্যাপ ফাইল (উদাহরণস্বরূপ নির্ভরতা পরিবর্তন করতে) পরিবর্তন করতে সীমাবদ্ধ থাকবেন। এছাড়াও যদি আপনি পরীক্ষা করে দেখেন তবে আপনার অন্যান্য মেশিনে বলুন আপনাকে আবার সেই কৌশলগুলি করতে হবে। বেশ কয়েকটি বিকাশকারী দলের একটি দলের সাথে আরও অসুবিধা হতে পারে।
ব্যবহারকারী 487772

আপনি যদি স্থানীয়ভাবে ফাইলটিকে অগ্রাহ্য করেন তবে কেবলমাত্র অন্য দেবগণের যা করতে হবে তা আবার এটি সক্ষম করে। এই মাত্র কয়েক সেকেন্ড সময় লাগবে imho।
টুন ভ্যান ডুরেন

ঠিক। কিন্তু তারপরে তাদের আবার এটিকে স্থানীয়ভাবে উপেক্ষা করতে হবে। এবং এটি প্রতিটি ওয়ার্কিং কপির জন্য প্রতিটি এক্সটেনশনের জন্য। আমি বলতে চাইছি আপনার সমাধানটি অবশ্যই কাজ করবে তবে কিছুটা অসুবিধে হবে।
ব্যবহারকারী 487772

সত্য, আমি অনুমান করি যে আমি এটি কেবল আমার অবস্থান থেকে দেখেছি, আমি সাধারণত কেবল 1 বা 2 টি ডিভাইস সংহত করে :-)
টুন ভ্যান ডুরেন

3

আমি মনে করি এর সাথে মোকাবিলা করার সর্বোত্তম উপায় হ'ল হয় স্থানীয় কোডপুলে সেই সমস্ত মডিউল রাখুন এবং সমস্ত স্থানীয় মডিউলগুলি আপনার স্থানীয়.xml এ এই লাইনের সাথে লাইভে অক্ষম করুন:

    <disable_local_modules>true</disable_local_modules>

অথবা আপনি আপনার লাইভ পরিবেশে ব্যাকএন্ডে "মডিউল আউটপুট অক্ষম করুন" করতে পারেন। (সিস্টেম -> কনফিগারেশন -> উন্নত)। তবে এটি সম্পূর্ণরূপে মডিউলটি অক্ষম করে না। তবে সম্ভবত আপনি এটির আড়াল করতে চান এটি যথেষ্ট।

আমি কেবল অন্য জিনিসটিই ভাবতে পারি তা হল এমন কিছু কোড লিখুন যা এটি বন্ধ করে দিতে পারে। এটি বিকাশকারী মোডে রয়েছে কিনা তা পরীক্ষা করুন ( Mage::getIsDeveloperMode()) এবং তারপরে মডিউলগুলি অক্ষম করুন। আমি এটি অর্জনের জন্য আরও কিছু বিশদ এখানে পেয়েছি: /programming/6520634/magento-how-to-disable-module-programically


সমস্ত 3 সমাধান যথেষ্ট ভাল নয়। localমডিউলগুলি অক্ষম করা আপনাকে localকোডপুল থেকে অন্য সমস্ত মডিউলগুলিতে সরানো communityএবং ভবিষ্যতের সমস্ত এক্সটেনশনের জন্য এটি করতে বাধ্য করবে। মডিউল আউটপুট অক্ষম করা আপনি যেমনটি বলেছিলেন তবুও এক্সটেনশানটি আপনার স্টোরকে কমিয়ে দেয়। এবং তৃতীয় সমাধানটির জন্য এমন পরিবর্তনগুলির প্রয়োজন হবে যা এক্সটেনশন (গুলি) আপডেটের সাথে ওভাররাইট করা হবে।
ব্যবহারকারী 487772

2
@ টিম আমি একমত, একেবারে। এটির মোকাবেলার আরও ভাল উপায় হওয়া উচিত, বিকাশ মোডে থাকা অবস্থায় মডিউলগুলি অক্ষম / সক্ষম করার মূল কনফিগারেশন থাকতে হবে।
রিক কুইপার্স

3

আমি সাধারণত এগুলি কেবল আমার পরীক্ষার পরিবেশে রাখি, তবে সংস্করণ নিয়ন্ত্রণ সিস্টেমে এগুলি পরীক্ষা করি না, উদাহরণস্বরূপ .gitignoreফাইলটি ব্যবহার করে প্রতিশ্রুতিবদ্ধ হওয়ার জন্য বিবেচনা করা থেকে বঞ্চিত করে।


ওপি স্টোরগুলিতে এক্সটেনশন রাখার উপর জোর দিয়েছিল।
ব্যবহারকারী 487772

1

এরিক হানসেনের ইমেজিন 2011 সম্মেলনে একটি স্লাইড রয়েছে। তিনি স্লাইডে একটি কোড লিখেছিলেন যা নীচের মতো রয়েছে (বিকাশকারী মোডের জন্য)

# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
   $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}

এখানে, এরিক সাবডোমেনগুলির উপর ভিত্তি করে একটি সেটিংস সক্ষম করছে যা আপনি নিজেরাই এটি কাস্টমাইজ করতে পারেন।


এটির উন্নয়নের জন্য মডিউলগুলির সাথে কী সম্পর্ক আছে?
ব্রায়ান রুইজ

প্রিয় @ ব্রায়ান_উইউজ, সক্রিয় থাকুক বা না থাকুক না কেন এমএপিআইএসআইএসআইডিএইভিএলপিপিএমএমডি পরীক্ষা করছে ম্যাজেন্টো সিস্টেম। অ্যালানের নিবন্ধটি পরীক্ষা করুন। ম্যাজেন্টো বিকাশকারী মোড
26elikdemir

আমি কি বলছি আমি বুঝতে পারি না এটি কীভাবে প্রশ্নের সাথে সম্পর্কিত। বিকাশকারী মোড তিনি ব্যবহার করছেন এমন মডিউলগুলি সক্ষম বা অক্ষম করবে না।
ব্রায়ান রুইজ

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