در اين نصيب از كاربرد هاي PHP در وردپرس , ميخواهيم در خصوص شي گرايي در وردپرس و نقش كليدي كلاس ها و اشياء در ورپرس سخن كنيم . شما در اكثري از جاها در وردپرس ميتوانيد شي ءها و كلاس ها را در وردپرس ملاحظه كنيد كه در پشت صحنه سرگرم به به كار گيري شدن مي باشند , براين اساس شما نيز ميتوانيد به راحتي در قالب هاي وردپرس و يا اين كه افزونه هايي كه مي سازيد از آنها به كار گيري كرده و قالب وردپرس خويش را به طور شي گرا پباده سازي كنيد . شي گرايي در وردپرس شي گرايي در اكثري از جاها مورد به كار گيري شما خواهد گرفت , مثلا بزرگترين نمونه در اين باره ساختن يك كوئري بر روي يكياز template هاي شما يا اين كه پست ها يا اين كه پست هاي سفارشي شما هست . در بنا شده در همگي آنها از شي ها و كلاس ها در وردپرس به كار گيري خواهد شد . در فصل هاي آتي بطور بي نقص يك فصل دراين مورد سخن خوا هيم كرد و اينك نميخواهم كه آن را بطور بي نقص دراين بخش شرح دهم چون مي توان ساعتها در امر آن كلام كرد . شي ءها , فايده ها و متدها در وردپرس همان طور كه ميدانيد , اشياء ميتوانند تحت عنوان نمايشي از چيزهايي باشند كه با آنان رمز و كار داريم كه دارنده خاصيت يا اين كه به عبارتي properties و متدهاي يا اين كه به عبارتي methods مرتبط با خويش هستند . براي مثال در صورتيكه بخواهيم با معني شي ها در وردپرس آشنا شويم , بي آلايش ترين نمونه در وردپرس اين هست كه يك پست جدا از هم در واقع يك شي هست . Property هاي يك پست مشتمل بر تيتر يا اين كه title و همين طور محتواي آن پست يا اين كه content ميباشند . به همين ترتيب اعمالي زيرا تكثير يا اين كه publish , انبار كردن يا اين كه save , بروزرساني يا اين كه update كردن , همگي و همگي متدها يا اين كه توابع اين شي درنظر گرفته ميگردند . به همين ترتيب در شرايطيكه بخواهيم با معنا كلاس در وردپرس كه قالب يا اين كه ظرفي براي ساخت يك شي بوده ( يا اين كه به عبارتي blueprint ) آشنا گرديم , معمولي ترين نمونه كلاس WP _ Query است كه در واقع كلاسي است كه شما براي ساخت يا اين كه مثال سازي از شي query از آن استعمال ميكنيد تا بتوانيد داده هاي پست هاي متفاوت خويش را در قالب وردپرس به طور دايناميك به نمايش درآوريد . شما به آساني هر چه تمام خيس ميتوانيد از كلاس ها در وردپرس چهت نيل به هدف ها خويش در ساخت قالب وردپرس و همين طور افزونه نويسي وردپرس استعمال كنيد . در اينجا از يك نمونه معمولي براي شناخت شما با مضمون كلاس و ساخت شي در وردپرس استعمال كرده ام تا طرز ساخت يك شي و استعمال از آن در وردپرس را به شما نمايش دهيم . براي اين كار از كلاس WP _ Query استعمال ميكنيم . براي اينكه يك شي نو از اين كلاس بسازيم , كافي است از واژه و كلمه new در جلوي نام آن ( همانند ساخت كلاس در PHP ) به كارگيري كنيم : $new _ query = new WP _ Query ( ) ; با اين تعريف شي $new _ query تشكيل شده و شما به تمامي متد ها و property هاي آن كه در وردپرس تعريف شدهاست , دسترسي داريد . براي دسترسي به متدها و فايده ها اين شي ( همانند دسترسي به آنها در PHP ) كافي است از عملگر ‘ < - ’ بعداز نام شي به صورت پايين به كار گيري كنيم : $new _ query - >the _ post ( ) ; در اين حالت شما به پست مو جود درين شي دسترسي خواهيد داشت . بصورت بدون نقص در فصل مرتبط با WP _ Query با اين كلاس و متدها و خواص هاي آن كار خواهيم كه دوچندان براي ساخت قالب هاي وردپرس كاربردي هستند . درين بخش فقط به طور كلي مي خواستيم تا با كاربردهاي شي گرايي در وردپرس و روش به كارگيري از آن آشنا گرديم . ساختارهاي شرطي در وردپرس و روش هاي جايگزين براي استعمال از آنان در وردپرس ساختارهاي كنترلي , بلاك هايي از كد مي باشند كه بر شيوه روال و اجراي برنامه شما اثر ميگذارند و در واقع شما ميتوانيد قسمت هاي متعدد برنامه خويش را با آنها در دست گرفتن نمائيد . عموما آنها بصورت صورت هايي از كلمات شرطي ( كه از if يا اين كه switch و شبيه آن ها به كارگيري كرده ) و يا اين كه به صورت رينگ ( كه از for و while و foreach و يا اين كه شبيه آنان استعمال مي نمايند ) در برنامه ها ظواهر ميشوند و قسمت هاي متعدد برنامه شما و جريان اجراي آن را در دست گرفتن مي نمايند . در PHP شما از دو روش گوناگون ميتوانيد براي ابلاغ اين ساختارهاي كنترلي به كارگيري نمائيد . روش همگاني اوليه كه خيلي ها از آن به كارگيري مي نمايند , استعمال از {…} براي كدها مثل پايين است : if ( condition ) { // do something } روش جايگزين اين روش كه خيلي بسيار در كدهاي وردپرس مورد استعمال قرار ميگيرد , اين هست كه به جاي استعمال از curly brace هاي گشوده و بسته , از آرم هاي ‘ : ‘ به جاي ‘ } ‘ در بالا مصرف شده و براي انتهاي ساختار كنترلي و بسته به كنترلي كه مورد به كار گيري قرار گرفته است , به جاي ‘ { ‘ از عبارت هاي ;endif يا اين كه ;endfor يا اين كه ;endwhile و يا اين كه ;endforeach به نظير ذيل به كار گيري مي شود ( براي ساختارهاي else و همين طور elseif هم به نظير آنان و مطابق تحت به كارگيري خواهد شد ) : شايد به نظرتان رسد كهاين ساختار خيلي جذاب نبوده و يا اين كه براي شما دلهره آور است ولي مي بايست بدانيد كه شما به طور دوچندان بسيار با اين روش جايگزين در قالب هاي وردپرس برخورد خواهيد كرد . در واقع اين روش جايگزين , بزرگترين رويكرد به كارگيري براي ساختارهاي كنترلي است كه در قالب هاي وردپرس از آن به كار گيري مي شود . مثلا , ساختارهاي ذيل , در واقع رينگ هايي است كه براي نمايش پست ها در پوشه index . php از آنها به كار گيري مي شود : مهمترين مزيت به كار گيري از ساختارهاي كنترلي جايگزين در وردپرس مهمترين مزيت به كارگيري از اين ساختار جايگزين , خواناتر بودن آن نسبت به روش همگاني است . اين مدل به كار گيري منجر مي شود كه فولدر هاي قالب فراوان قالب شعور خيس شده و وقتي كه شما درون آنان را مشاهده ميكنيد , به راحتي ملاحظه كنيد و تشخيص دهيد كه در باطن كدام ساختار كنترلي قرار داريد و اين سبب ساز مي شود تا در اختيار گرفتن راحت تري بر روي كدهاي خويش داشته باشيد . تعدادي چيز اساسي در به كارگيري از اين روش جايگزين در وردپرس موجود هست كه شما مي بايست حتما آنان را در حيث بگيريد . اولي مورد اين است كه , وقتي كه شما از ساختارهاي كنترلي تو در تو شبيه بالا به كار گيري ميكنيد , كه در آنها تعدادي ساختار كنترلي مصرف شده شدهاست , شما بايستي به عبارتي ساختار و syntax را براي بقيه ساختارها ادامه و در هر level از اين syntax استعمال فرمائيد . نكته ديگر در طول به كارگيري از اين ساختار جايگزين در ميباشد . اساسا در جاهايي كه شما با خروجي هايي از دسته HTML رمز و كار داريد , خوب تر است از ساختارهاي جايگزين استعمال نماييد البته در جاهايي مانند باطن توابع يا اين كه بقيه قسمت هاي قالب خويش كه با خروجي هايي از گونه HTML رمز و كار نداريد , خوب تر است كدهاي خويش را به طور بي آلايش متن و از ساختارهاي كنترلي به طور معمولي و استاندارد به كار گيري كنيد تا حجم كدنويسي خويش را كاهش دهيد . براي به كار گيري از هر مورد از اين ها و هم بقيه كدها , استانداردهايي براي كدنويسي در وردپرس موجود است كه آنهارا در بخش سپس مورد بررسي قرار خوا هيم بخشيد .
یکشنبه ۲۷ خرداد ۹۷ | ۰۹:۲۸ ۴ بازديد
تا كنون نظري ثبت نشده است