(!LANG:Immeasurable reg php भाषा उर्फ. Laravel साठी Bash उपनाव (उपनाव). आता पुढील कामासाठी मुख्य स्क्रिप्ट तयार करू.

शुभ दिवस मित्रांनो! चला PHP मध्ये वापरकर्ता नोंदणी पाहू. प्रथम, आमच्या वापरकर्ता नोंदणीसाठी अटी परिभाषित करूया:

  • अल्गोरिदम वापरून पासवर्ड एन्क्रिप्ट केलेला आहे MD5
  • पासवर्ड असेल "मीठ"
  • लॉगिन व्यस्त चेक
  • पत्राद्वारे वापरकर्ता सक्रियकरण.
  • मध्ये डेटाचे रेकॉर्डिंग आणि स्टोरेज DBMS MySQL

ही स्क्रिप्ट लिहिण्यासाठी, आम्हाला वापरकर्ता नोंदणी म्हणजे काय हे समजून घेणे आवश्यक आहे. वापरकर्ता नोंदणी म्हणजे वास्तविक वापरकर्ता डेटाचे संपादन, डेटाची प्रक्रिया आणि संचयन.

सोप्या शब्दात, नोंदणी म्हणजे काही डेटाचे रेकॉर्ड आणि स्टोरेज आहे ज्याद्वारे आम्ही आमच्या बाबतीत वापरकर्त्याला अधिकृत करू शकतो - हा लॉगिन आणि पासवर्ड आहे.

अधिकृतता - एखाद्या विशिष्ट व्यक्तीला किंवा व्यक्तींच्या गटाला विशिष्ट क्रिया करण्याचे अधिकार प्रदान करणे, तसेच या क्रिया करण्याचा प्रयत्न करताना या अधिकारांची पडताळणी करण्याची प्रक्रिया. सोप्या भाषेत सांगायचे तर, अधिकृततेच्या मदतीने आम्ही आमच्या साइटवरील विशिष्ट सामग्रीवर प्रवेश प्रतिबंधित करू शकतो.

अधिकृततेसह आमचे लॉगिन कार्यान्वित करण्यासाठी स्क्रिप्ट निर्देशिकेची रचना पाहू. आम्हाला स्क्रिप्टचे तार्किक भागांमध्ये विभाजन करणे आवश्यक आहे. आम्ही नोंदणी आणि अधिकृतता मॉड्यूल वेगळ्या निर्देशिकेत ठेवले आहेत. आम्ही डेटाबेस कनेक्शन वेगळ्या डिरेक्टरीमध्ये देखील ठेवू. MySQL, सानुकूल कार्यांसह फाइल, शैली फाइल cssआणि आमचे टेम्पलेट HTML. ही रचना तुम्हाला पटकन स्क्रिप्टमधून नेव्हिगेट करण्याची परवानगी देते. अशी कल्पना करा की तुमच्याकडे अनेक मॉड्यूल्स असलेली एक मोठी साइट आहे. आणि जर ऑर्डर नसेल तर अशा गोंधळात काहीतरी शोधणे खूप कठीण होईल.

आम्ही सर्व डेटा संग्रहित करू DBMS MySQL, तर चला एक छोटासा टेबल बनवू ज्यामध्ये आपण नोंदणी डेटा संग्रहित करू.

प्रथम आपल्याला डेटाबेसमध्ये एक टेबल तयार करणे आवश्यक आहे. चला टेबलला कॉल करूया bez_regकुठे bezटेबल उपसर्ग आहे, आणि regटेबल नाव.

सारणी रचना: bez_reg

-- -- `bez_reg` सारणी रचना -- `bez_reg` अस्तित्वात नसल्यास टेबल तयार करा (`id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(200) NOT NULL, `pass` varchar(32) NOT NULL , `मीठ` वरचार(३२) शून्य नाही, `सक्रिय_हेक्स` वर्चार(३२) शून्य नाही, `स्थिती` इंट(१) शून्य नाही, प्राथमिक की (`आयडी`)) इंजिन=मायआयएसएम डीफॉल्ट चारसेट=utf8 ऑटो_आयएनसी;

आता पुढील कामासाठी मुख्य स्क्रिप्ट तयार करू.

INDEX.PHP फाइल

CONFIG.PHP फाइल

"); ?>

फाइल 404.HTML

त्रुटी 404

त्रुटी 404

पृष्ठावर 404 त्रुटी होती

परत

BD.PHP फाइल

INDEX.HTML फाइल

सक्रियकरण ईमेलसह PHP MySQL वापरकर्ता नोंदणी

FUNCT.PHP फाइल

"."\n"; if(is_array($data)) ( foreach($data as $val) $err .= "

  • ".$val."
  • "."\n"; ) अन्यथा $err .= "
  • ".$डेटा."
  • "."\n"; $err .=""."\n"; परत करा $err; ) /**Simple MySQL क्वेरी रॅपर * @param string $sql */ function mysqlQuery($sql) ( $res = mysql_query($sql); /* परिणाम तपासा हे दाखवते MySQL ला पाठवलेली वास्तविक क्वेरी तसेच त्रुटी.*/ if(!$res) ( $message = "खराब क्वेरी: " . mysql_error() . "\n"; $message .= "संपूर्ण क्वेरी : " . $ sql; die($message); ) $res; ) /**सिंपल सॉल्ट जनरेटर * @param स्ट्रिंग $sql */ फंक्शन सॉल्ट() ( $salt = substr(md5(uniqid()), - 8); रिटर्न $मीठ;)

    चला नोंदणी लिहायला सुरुवात करूया. सुरुवातीला, आम्हाला नोंदणी फॉर्म टेम्पलेट बनवावे लागेल जेणेकरून वापरकर्ता प्रक्रिया करण्यासाठी त्याचा डेटा प्रविष्ट करू शकेल. पुढे, आम्हाला फॉर्म हँडलर स्वतः लिहावा लागेल, जो वापरकर्त्याने प्रविष्ट केलेल्या डेटाची शुद्धता तपासेल. डेटाची यशस्वीपणे पडताळणी झाल्यानंतर, आम्ही तो आमच्या डेटाबेसवर लिहितो आणि वापरकर्त्याला त्याचे खाते सक्रिय करण्यासाठी ईमेल पाठवतो.

    REG.PHP फाइल

    तुम्ही यशस्वीरित्या नोंदणी केली आहे! कृपया तुमचे खाते सक्रिय करा!!"; //खाते सक्रिय करा जर(isset($_GET["key"])) ( //की $sql तपासा = "निवडा * पासून `". BEZ_DBPREFIX ."reg` WHERE `active_hex` = "". escape_str ( $_GET["key"]) """; $res = mysqlQuery($sql); if(mysql_num_rows($res) == 0) $err = "सक्रियकरण की अवैध आहे!"; //त्रुटी तपासा आणि वापरकर्त्याला दाखवा if(count($err) > 0) echo showErrorMessage($err); बाकी (//वापरकर्त्याचा पत्ता मिळवा $row = mysql_fetch_assoc($res); $email = $row["login"]; //खाते वापरकर्ता सक्रिय करा $sql = "अपडेट `". BEZ_DBPREFIX ."reg` SET `status` = 1 WHERE `login` = "".$email .""; $res = mysqlQuery($sql); / /सक्रियकरण ईमेल पाठवा $title = "(!LANG:http://website वरील तुमचे खाते यशस्वीरित्या सक्रिय केले गेले आहे."; $message = "Поздравляю Вас, Ваш аккаунт на http://сайт успешно активирован"; sendMessageMail($email, BEZ_MAIL_AUTOR, $title, $message); /*Перенаправляем пользователя на нужную нам страницу*/ header("Location:". BEZ_HOST ."less/reg/?mode=reg&active=ok"); exit; } } /*Если нажата кнопка на регистрацию, начинаем проверку*/ if(isset($_POST["submit"])) { //Утюжим пришедшие данные if(empty($_POST["email"])) $err = "Поле Email не может быть пустым!"; else { if(!preg_match("/^!} [ईमेल संरक्षित](+\.)+(2,6)$/i", $_POST["email"])) $err = "ईमेल चुकीचा प्रविष्ट केला"."\n"; ) जर(रिक्त($_POST[ "पास") ])) $err = "पासवर्ड फील्ड रिक्त असू शकत नाही"; जर (रिक्त($_POST["pass2"])) $err = "पासवर्ड पुष्टीकरण फील्ड रिक्त असू शकत नाही"; // त्रुटी तपासा आणि वापरकर्त्यास दाखवा (count($err) > 0) echo showErrorMessage($err); बाकी (/*एंटर केलेला डेटा तपासणे सुरू ठेवा जुळणारे पासवर्ड तपासा*/ if($_POST["pass"] != $_POST["pass2" ] ) $err = "पासवर्ड जुळत नाहीत"; //त्रुटी तपासा आणि वापरकर्त्याला दाखवा if(count($err) > 0) echo showErrorMessage($err); बाकी (/*आमच्याकडे असा वापरकर्ता आहे का ते तपासा डेटाबेस* / $sql = "` मधून `लॉगिन` निवडा".BEZ_DBPREFIX ."reg` कुठे `लॉगिन` = "".escape_str($_POST["email"]) ."""; $res = mysqlQuery($ sql); if(mysql_num_rows($res) > 0) $err = "क्षमस्व लॉगिन: ". $_POST["ईमेल"] ."व्यस्त!"; //त्रुटी तपासा आणि वापरकर्त्याला दाखवा if(count($err) > 0) echo showErrorMessage($err); बाकी (// मीठ $salt = salt() चा HASH मिळवा; // पासवर्ड $pass = md5(md5($_POST["pass"]).$salt; /*सर्व काही ठीक असल्यास, डेटाबेसमध्ये डेटा लिहा*/ $sql = "इन्सर्ट इनटू `". BEZ_DBPREFIX ."reg. ` VALUES("", "" .escape_str($_POST["email"]) ."", "". $pass "", "". $salt ."", "". md5($salt) . "", 0)"; $ res = mysqlQuery($sql); // सक्रियकरण ईमेल पाठवा $url = BEZ_HOST ."less/reg/?mode=reg&key=". md5($salt); $title = "(! LANG:http:///website वर नोंदणी"; $message = "Для активации Вашего акаунта пройдите по ссылке ". $url .""; sendMessageMail($_POST["email"], BEZ_MAIL_AUTOR, $title, $message); //Сбрасываем параметры header("Location:". BEZ_HOST ."less/reg/?mode=reg&status=ok"); exit; } } } } ?>!}

    REG_FORM.HTML FILE

    सक्रियकरण ईमेलसह PHP MySQL वापरकर्ता नोंदणी

    ईमेल *:
    पासवर्ड *:
    पासवर्ड पुष्टीकरण *:

    चिन्हासह फील्ड *आवश्यक

    आमची वापरकर्ता नोंदणी तयार असल्याने, अधिकृतता लिहिण्याची वेळ आली आहे. आम्ही वापरकर्त्याच्या अधिकृततेसाठी एक फॉर्म तयार करू, त्यानंतर आम्ही अधिकृतता फॉर्म हँडलर लिहू आणि शेवटी, आम्ही एक स्क्रिप्ट बनवू. show.phpजे आम्हाला सिस्टममध्ये अधिकृत आहे की नाही हे दर्शवेल.

    AUTH.PHP फाइल

    0) echo showErrorMessage($err); else ( /*वापरकर्त्याचे प्रमाणीकरण करण्यासाठी डेटाबेस फेच क्वेरी तयार करा*/ $sql = "सिलेक्ट * फ्रॉम `". BEZ_DBPREFIX ."reg` कुठे `लॉगिन` = "". escape_str($_POST["email"]) ." " AND `status` = 1"; $res = mysqlQuery($sql); // लॉगिन जुळत असल्यास, पासवर्ड तपासा if(mysql_num_rows($res) > 0) ( //सारणीवरून डेटा मिळवा $row = mysql_fetch_assoc( $res ); if(md5(md5($_POST["pass"]).$row["salt"]) == $row["pass"]) ( $_SESSION["user"] = true; // मापदंड रीसेट करा शीर्षलेख("स्थान:". BEZ_HOST ."less/reg/?mode=auth"); बाहेर पडा; ) अन्यथा echo showErrorMessage("चुकीचा पासवर्ड!"); ) अन्यथा echo showErrorMessage("लॉग इन करा ". $_POST["ईमेल"] ."सापडले नाही!");) ) ?>

    ज्यांच्याकडे PHP ची नवीनतम आवृत्ती आहे त्यांच्यासाठी मी ही स्क्रिप्ट वापरून पोस्ट करतो पीडीओकारण विस्तार MySQLनापसंत केले आहे आणि PHP च्या नवीन आवृत्तीमधून काढले गेले आहे. नोंदणी आणि अधिकृतता php mysql pdo डाउनलोड करा

    संग्रहण फेब्रुवारी 24, 2015 रोजी अद्यतनित केले गेले.

    लक्ष द्या:जर तुम्ही ही स्क्रिप्ट स्थानिक सर्व्हरवर वापरत असाल तर डेनवर,XAMPP, तर तुम्ही तुमच्या मेलबॉक्समधील पत्रांची वाट पाहू नये. अक्षरे स्टबमध्ये आहेत पाठवा. एटी डेन्व्हरआपण त्यांना वाटेत शोधू शकता Z:\tmp\!sendmail\तुम्ही या फाइल्स कोणत्याही ईमेल क्लायंटमध्ये उघडू शकता.

    तुम्ही कॉन्फिगरेशन डेटा तुमच्या एक्स्टेंशन किंवा स्किनच्या रूट डिरेक्टरीमध्ये extension.json किंवा skin.json फाइलमध्ये ठेवता आणि मीडियाविकी विस्तार किंवा स्किनची नोंदणी करण्यासाठी त्याचा वापर करते.

    MediaWiki 1.25 पूर्वी, विस्तार आणि स्किनसाठीचे कॉन्फिगरेशन विस्तार किंवा स्किन नावाच्या PHP फाइलमध्ये होते, जसे की MyExtension.php किंवा MySkin.php.

    आवश्यक_एकदा " $IP /extensions/Hello/Hello.php" ; आवश्यक_एकदा "$IP /extensions/FooBar/FooBar.php"; $wgFooBarEnable = खरे ; आवश्यक_एकदा " $IP /skins/Baz/Baz.php" ;

    आता ते यात रूपांतरित केले जाऊ शकते:

    wfLoadExtensions ( अॅरे ( "Hello" , "FooBar" ) ); $wgFooBarEnable = खरे ; wfLoadSkin("baz");

    जर तुम्ही विस्तार $IP/extensions व्यतिरिक्त इतर कशातही साठवत असाल, तर तुम्हाला $wgExtensionDirectory ओव्हरराइड करणे आवश्यक आहे. तुम्ही $IP/skins मध्ये स्किन्स साठवत नसल्यास, तुम्हाला $wgStyleDirectory नावाचे चुकीचे नाव ओव्हरराइड करावे लागेल. आपण विस्तार किंवा त्वचा डाउनलोड करण्यापूर्वी हे करणे आवश्यक आहे.

    $wgExtensionDirectory = "/some/path" ; wfLoadExtension("FooBar"); // /some/path/FooBar/extension.json शोधते$wgStyleDirectory = "/my/skins" ; wfLoadSkins ( अॅरे ( "BarBaz" , "BazBar" ) ); // /my/skins/BarBaz/skin.json आणि /my/skins/BazBar/skin.json शोधते

    MW 1.30 पासून, extension.json मध्ये परिभाषित नेमस्पेस आयडी स्थानिक पातळीवर अधिलिखित केले जाऊ शकतात, विस्तार लोड करण्यापूर्वी LocalSettings.php मध्ये संबंधित स्थिरांक परिभाषित करून. उदाहरणार्थ extension.json फाइलमध्ये खालील नेमस्पेस डिक्लेरेशनचा विचार करा:

    "नेमस्पेसेस" : [ ( "आयडी" : 1212 , "स्थिर" : "NS_FOO" , "नाव" : "फू"), ("आयडी" : 1213 , "स्थिर" : "NS_FOO_TALK" , "नाव" : "Foo_Talk" ")]

    हे डीफॉल्टनुसार NS_FOO ला 1212 मूल्य म्हणून परिभाषित केले जाईल. तथापि, LocalSettings.php मध्ये संबंधित स्थिरांक परिभाषित करून हे अधिलिखित केले जाऊ शकते:

    परिभाषित करा ( "NS_FOO" , 6688 ); परिभाषित करा ( "NS_FOO_TALK" , 6689 ); wfLoadExtension("foo");

    यामुळे "Foo" नेमस्पेस 1212 ऐवजी ID 6688 सह नोंदणीकृत होईल. नेमस्पेस आयडी ओव्हरराइड करताना, सर्व टॉक नेमस्पेसमध्ये विषम आयडी असणे आवश्यक आहे हे विसरू नका आणि टॉक नेमस्पेसचा आयडी नेहमी विषय नेमस्पेस असणे आवश्यक आहे. चा आयडी प्लस वन.

    सामग्री

    विस्तार विकासकांसाठी स्थलांतर

    दुःखाची विस्तार नोंदणी वॉल देखील पहा (आता महासत्ता) .

    देखभाल/रूपांतरणExtensionToRegistration.php स्क्रिप्ट तुम्हाला PHP एंट्री पॉइंट्स(?) वरून JSON मेटाडेटा फाइलमध्ये स्थलांतरित करण्यात मदत करेल. जर तुमचा विस्तार MediaWiki च्या जुन्या आवृत्त्यांचे समर्थन करत असेल, तर तुम्ही तुमचा प्रवेश बिंदू सोडला पाहिजे FooBar/FooBar.php जोपर्यंत तुम्ही जुन्या आवृत्त्यांचे समर्थन करणे थांबवत नाही.

    कमांड रन उदाहरण:

    $ cd core $ php देखभाल/convertExtensionToRegistration.php विस्तार/MassMessage/MassMessage.php $ php देखभाल/convertExtensionToRegistration.php skins/MonoBook/MonoBook.php --skin

    तुम्हाला स्थिरांक किंवा ओव्हरराइड न करता येणार्‍या फंक्शन्सबद्दल त्रुटी आढळल्यास तुम्हाला LocalSettings.php वरून तुमचा विस्तार अनइंस्टॉल करावा लागेल.

    तुम्ही तुमचा PHP एंट्री पॉइंट (FooBar.php फाईल) खालील प्रमाणे बदलला पाहिजे जेणेकरून अपग्रेड प्रक्रियेदरम्यान विकी खंडित होऊ नये.

    "FooBar विस्तारासाठी वापरला जाणारा नापसंत PHP एंट्री पॉइंट." . "कृपया त्याऐवजी wfLoadExtension वापरा," "FooBar विस्ताराच्या या आवृत्तीसाठी MediaWiki 1.29+ आवश्यक आहे" ); }

    किंवा शैली:

    // i18n ग्लोबल ठेवा जेणेकरून विलीनMessageFileList.php खंडित होणार नाही$wgMessagesDirs [ "FooBar" ] = __DIR__ . "/i18n" ; $wgExtensionMessagesFiles [ "FooBarAlias" ] = __DIR__ . "/FooBar.alias.php" ; wfWarn( "FooBar त्वचेसाठी नापसंत PHP एंट्री पॉइंट वापरला. कृपया त्याऐवजी wfLoadSkin वापरा,". "https://www. पहा.."); परत; ) इतर ( मरणे ( "FooBar स्किनच्या या आवृत्तीसाठी MediaWiki 1.25+ आवश्यक आहे" ); }

    सहाय्यक दस्तऐवजीकरण

    PHP एंट्री पॉइंट्समध्ये सामान्यतः कॉन्फिगरेशन सेटिंग्ज दस्तऐवजीकरण असतात जे उपयुक्त आहेत आणि गमावू नयेत. दुर्दैवाने JSON टिप्पण्यांना समर्थन देत नाही. तुम्ही कॉन्फिगरेशन दस्तऐवजीकरण विस्तार भांडाराच्या README फाइलमध्ये हलवण्याची शिफारस केली जाते. तुम्ही तुमच्या विस्तार पृष्ठावरील विकीवरील कॉन्फिगरेशनचे दस्तऐवजीकरण देखील केले पाहिजे: MyExtension. काही कागदपत्रे थेट extension.json वर जोडणे देखील शक्य आहे. एक्स्टेंशनची नोंदणी केल्यास extension.json मधील कोणत्याही कीजकडे दुर्लक्ष केले जाते जे स्ट्रक्चरच्या रूटवर किंवा कॉन्फिगच्या अंतर्गत "@ " ने सुरू होते, त्यामुळे तुम्ही त्या ठिकाणी टिप्पण्या देऊ शकता. उदाहरणार्थ:

    ("@नोट" : "ही फाइल LocalizationUpdate.php सह समक्रमित ठेवली पाहिजे", "@name" : ...

    extension.json फॉरमॅटच्या आवृत्ती 1 ने कॉन्फिग विभागात @note ला देखील अनुमती दिली आहे, परंतु यापुढे आवृत्ती 2 मध्ये याची शिफारस केली जाणार नाही किंवा समर्थित नाही. त्याऐवजी कॉन्फिगरेशन व्हेरिएबलचे वर्णन फील्ड वापरावे.

    हे फक्त लहान नोट्स आणि टिप्पण्यांसाठी वापरले जावे.

    संधी

    तुम्ही मोठ्या संख्येने विस्तार डाउनलोड केल्यास, तुमच्याकडे APC (किंवा APCu) स्थापित असल्यास विस्तार नोंदणी जलद होऊ शकते. wfLoadExtension सह लोड केलेले विस्तार s(एकाधिक -s सह) एकत्र कॅश केले जाईल.

    विशेषता

    आवर्ती समस्या म्हणजे वेगळ्या विस्तारासह काहीतरी "नोंदणी" कशी करावी. याचा अर्थ असा होतो की तुम्हाला एक विस्तार दुसर्‍यापूर्वी लोड करायचा आहे. उदाहरणार्थ VisualEditor मध्ये $wgVisualEditorPluginModules आहेत जे विस्तारांना त्यांचे मॉड्यूल लोड करण्यास अनुमती देतात. तथापि, VisualEditor च्या एंट्री पॉइंटमध्ये आहे:

    $wgVisualEditorPluginModules = array();

    याचा अर्थ असा की जर VisualEditor च्या आधी अॅरेमध्ये विस्तार जोडला गेला असेल, तर VE अॅरेमधील ती एंट्री पुसून टाकेल. काही विस्तार एका विशिष्ट लोड ऑर्डरवर अवलंबून असतात, इतरांनी हे $wgExtensionFunctions सह हॅक केले होते. नोंदणी विस्ताराने "विशेषता" सह ही समस्या सोडवली जाते. त्याचे extension.json चे गणित खालीलप्रमाणे आहे

    ( "VisualEditorPluginModules" : [ "ext.math.visualEditor" ] )

    मॅनिफेस्ट आवृत्ती 2 पासून प्रारंभ करून, विशेषता स्वतंत्र विभाग विभाग विशेषतांमध्ये परिभाषित करणे आवश्यक आहे.

    विशेषता नोडमध्ये की म्हणून विस्ताराचे नाव आणि मूल्य म्हणून विशेषता/मूल्य जोड्यांचा एक ऑब्जेक्ट असणे आवश्यक आहे. लक्षात ठेवा की सबऑब्जेक्टमधील कीमध्ये विस्ताराचे नाव नसावे!

    ( "विशेषता" : ( "VisualEditor" : ( "PluginModules" : [ "ext.math.visualEditor" ] ) ), "manifest_version" : 2 )

    जेव्हा व्हिज्युअल एडिटर एखाद्या विशेषतामध्ये प्रवेश करू इच्छितो, तेव्हा तो वापरतो:

    ExtensionRegistry::getInstance() -> getAttribute("VisualEditorPluginModules");

    आवश्यकता (अवलंबन)

    विस्तार नोंदणीमध्ये एक आवश्यक विभाग असतो, जो संगीतकारांच्या आवश्यक विभागाप्रमाणेच कार्य करतो. ते विस्तार विकासकाला विस्तारासाठी अनेक आवश्यकता निर्दिष्ट करण्यास अनुमती देते, जसे की विशिष्ट MediaWiki आवृत्ती (किंवा त्याहून मोठी/कमी) किंवा दुसरा विस्तार/त्वचा. यासाठी. उदाहरणार्थ, 1.26.0 पेक्षा जास्त असलेल्या MediaWiki आवृत्तीवर अवलंबित्व जोडण्यासाठी, तुम्ही extension.json मध्ये खालील कोड जोडू शकता:

    ( "आवश्यक" : ( "मीडियाविकी" : ">= 1.26.0" ) )

    आवश्‍यक ऑब्जेक्टची की हे अवलंबित्वाचे नाव आहे (मीडियाविकी 1.29.0 पूर्वी फक्त मीडियाविकी समर्थित होते), मूल्य वैध आवृत्ती मर्यादा आहे (स्वरूप संगीतकाराने वापरलेल्याशी जुळले पाहिजे).

    MediaWiki 1.29.0 आणि वरील मध्ये तुम्ही स्किन आणि इतर विस्तारांवर अवलंबित्व जोडू शकता जसे की:

    ( "आवश्यक आहे" : ( "मीडियाविकी" : ">= 1.25.0" , "विस्तार" : ( "फेकएक्सटेंशन" : "*" ), "स्किन्स" : ( "फेकस्किन" : "*")))

    एखादे विस्तार प्रत्यक्षात आवश्यक नसताना लोड केले आहे का ते तपासा

    अनेक विस्तार ही वैशिष्ट्ये प्रदान करू शकतात जी केवळ दुसरा विस्तार लोड केला असेल तरच कार्य करतात, मुख्य विस्तार कार्यासाठी या वैशिष्ट्याची खरोखर आवश्यकता नसताना. उदाहरण म्हणून: जर विस्तार B लोड केला असेल, तर विस्तार A वास्तविक WYSIWYG संपादक प्रदान करू शकतो, अन्यथा तो एक साधा मजकूर वापरेल. एक्स्टेंशन A ला एक्स्टेंशन B मधून फायदा होऊ शकतो (जर तो लोड केला असेल), परंतु योग्यरित्या काम करण्यासाठी ते लोड केले जाण्याची आवश्यकता नाही. यासाठी, तुम्ही सामान्यत: विस्तार लोड केला आहे का ते तपासा, तो एक म्हणून जोडण्याऐवजी कठीणअवलंबित्व

    तपासण्याचा प्रमाणित मार्ग अंमलात आणण्यासाठी, एक्स्टेंशन लोड केले आहे की नाही (एखाद्या एक्स्टेंशनमध्ये अतिरिक्त कामाची आवश्यकता नसताना जो दुसर्यामध्ये सॉफ्ट-डिपेंडन्सी आहे), विस्तार नोंदणी वापरली जाऊ शकते. हे एक isLoaded पद्धत लागू करते, जी एक साधी बुलियन परत करते, जर एक्स्टेंशन लोड केले असेल किंवा नसेल (हे कार्य करण्यासाठी विस्तार नोंदणीसह लोड करणे आवश्यक आहे). उदाहरण:

    जर ( ExtensionRegistry :: getInstance () -> isloaded ( "ExtensionB" ) ) ( )

    MediaWiki 1.32 पासून विस्तार लोड झाला आहे की नाही हे तपासणे देखील शक्य आहे आणि दिलेल्या संगीतकार आवृत्तीची मर्यादा पूर्ण करते:

    जर ( ExtensionRegistry :: getInstance () -> isLoaded ( "ExtensionB" , ">=1.2" ) ) ( // एक्स्टेंशन B लोड केलेले असेल आणि 1.2 किंवा त्याहून अधिक आवृत्ती असेल तरच गोष्टी करा. }

    MediaWiki च्या पूर्वीच्या आवृत्त्यांमध्ये विस्ताराची विशिष्ट आवृत्ती लोड केली आहे की नाही हे तुम्ही तपासू इच्छित असल्यास, तशी माहिती getAllThings पद्धतीद्वारे काढली जाऊ शकते, जी सर्व लोड केलेल्या विस्तारांसाठी क्रेडिट माहिती देते. उदाहरण:

    $bVersion = ExtensionRegistry :: getInstance () -> getAllThings ()[ "ExtensionB" ][ "आवृत्ती" ] ?? निरर्थक ; जर ( $bVersion !== null && version_compare ( $bVersion , "2.1.0" , ">=" ) ) ( // जर एक्स्टेंशन B लोड केला असेल आणि त्याची आवृत्ती क्रमांक 2.1.0 पेक्षा जास्त किंवा बरोबर असेल तरच करा.जर ( परिभाषित ( "ExtensionBVersion" ) ) ( // तुम्ही आवृत्ती देखील तपासू शकता, जर स्थिरांक आवृत्ती असेल // एक्स्टेंशन बी लोड केले असल्यासच गोष्टी करा }

    एक अधिक ठिसूळ मार्ग, जो टाळला पाहिजे तो म्हणजे विस्तार B चा विशिष्ट वर्ग अस्तित्वात आहे की नाही हे तपासणे, उदा. हा कोड वापरुन:

    जर ( वर्ग_अस्तित्वात असेल ( "विस्तारभुक" ) ) ( // फक्त गोष्टी करा, जर विस्तार B त्याचे वर्ग अस्तित्वात असतील }

    फाईल सिस्टीममध्‍ये एक्स्टेंशन अस्‍तित्‍वात असल्‍यास परंतु लोड न केल्‍यास हे खंडित होऊ शकते, उदा. जर संगीतकार ऑटोलोडिंगसाठी वापरला गेला असेल. जर वर्गाचे नाव बदलले असेल किंवा अस्तित्वात नाही (उदा. ते पॅकेज सार्वजनिक नाही) तर हे देखील खंडित होईल.

    सर्वसाधारणपणे, विस्तारांऐवजी संगीतकार घटकांद्वारे कोड सामायिक करण्यास प्राधान्य दिले जाते. जर एक्स्टेंशनचे वर्ग फक्त अस्तित्त्वात असायला हवेत, परंतु तुम्हाला काय करायचे आहे त्यासाठी विस्ताराला कॉन्फिगर किंवा लोड करण्याची आवश्यकता नसेल, तर तो कोड एका कंपोझर घटकामध्ये विभागला गेला पाहिजे ज्यावर तुम्ही अवलंबून असले पाहिजे हे एक मजबूत सूचक आहे. त्याऐवजी

    कॉन्फिग (तुमचा विस्तार/शैली सेटिंग्ज)

    डीफॉल्टनुसार, extension.json असे गृहीत धरते की तुमची कॉन्फिगरेशन सेटिंग्ज "wg" उपसर्गाने सुरू होतात.

    तसे नसल्यास, तुम्ही विशेष की वापरून उपसर्ग ओव्हरराइड करू शकता:

    ( "कॉन्फिगरेशन" : ( "_उपसर्ग" : "उदा" , "मायएक्सटसेटिंग" : खरे ))

    ते "उदा" चा उपसर्ग वापरेल आणि जागतिक चल $egMyExtSetting सत्य वर सेट करेल.

    मॅनिफेस्ट आवृत्ती 2 पासून प्रारंभ करून, विस्तार नोंदणीचा ​​कॉन्फिगरेशन विभाग बरीच अधिक वैशिष्ट्ये प्रदान करतो आणि आपल्याला आपल्या कॉन्फिगरेशन पर्यायांचे अधिक तपशीलवार वर्णन करण्यास अनुमती देतो. तुमच्या कॉन्फिगरेशन पर्यायांसाठी एकच की -> मूल्य स्टोअर ठेवण्याऐवजी, तुम्ही खालील माहिती देखील जोडू शकता.

    कॉन्फिगरेशनची सामान्य रचना खालील, अधिक ऑब्जेक्ट ओरिएंटेड आवृत्तीमध्ये थोडीशी बदलते:

    ( "config_prefix" : "उदा" , "config" : ( "MyExtSetting" : ( "मूल्य" : सत्य , "पथ" : असत्य , "वर्णन" : "कॉन्फिगरेशनचे वर्णन", "descriptionmsg" : "myextension-config-myextsetting", "सार्वजनिक" : खरे ) ), "manifest_version" : 2 )

    मूल्य

    कॉन्फिगरेशनचे मूल्य या ठिकाणी हलवले. कॉन्फिगरेशन ऑब्जेक्टसाठी ही एकमेव आवश्यक की आहे.

    मार्ग

    विस्तार निर्देशिका रूटच्या सापेक्ष, कॉन्फिगरेशन पर्यायाच्या मूल्याचा फाईलसिस्टम मार्ग म्हणून अर्थ लावला जात असल्यास पथ कीचे बुलियन मूल्य ओळखते. उदा., कॉन्फिगरेशनचे मूल्य myFile.png असल्यास आणि पथ सत्य असल्यास, वास्तविक मूल्य /path/to/the/wiki/extensions/MyExtension/myFile.png असेल.

    वर्णन

    कॉन्फिगरेशन पर्यायासाठी वर्णन की स्थानिक नसलेली स्ट्रिंग धारण करू शकते, ज्याचा वापर इतर विकासकांना किंवा तुमच्या विस्ताराच्या वापरकर्त्यांना (सिस्टम प्रशासक) कॉन्फिगरेशन पर्याय स्पष्ट करण्यासाठी केला जाऊ शकतो. वर्णन कीचे मूल्य सहसा विकीच्या फ्रंटएंडवर उघड होत नाही, तथापि, भविष्यात हे वैशिष्ट्य कसे वापरले जाऊ शकते याबद्दल अधिक माहितीसाठी दृष्टीकोन पहा!

    MediaWiki च्या अंतर्गत स्थानिकीकरण प्रणालीची मेसेज की वर्णन (descriptionmsg) म्हणून जोडण्याची देखील शक्यता आहे, जी भविष्यात, MediaWiki इंस्टॉलेशनच्या फ्रंटएंडमध्ये वर्णन उघड करण्यासाठी वापरली जाईल.

    सार्वजनिक/खाजगी

    हा पर्याय बुलियन आहे, जो डीफॉल्ट असत्य वर आहे, याचा अर्थ कॉन्फिगरेशन पर्याय आणि मूल्य "खाजगी" म्हणून चिन्हांकित केले आहे. हे मूल्य सध्या कुठेही वापरले जात नाही, या पर्यायाबद्दल अधिक जाणून घेण्यासाठी दृष्टीकोन पहा.

    पथासाठी उपनाव (उर्फ) तयार करण्यासाठी, Yii::setAlias() पद्धत वापरली जाते:

    // फोल्डर पथ उर्फ ​​Yii::setAlias("@myalias", "/path/to/myfolder");
    // फोल्डर पथ उर्फ ​​दुसर्‍या उर्फ ​​Yii::setAlias("@img", "@myalias/path/to/img") वर आधारित;
    // URL उर्फ ​​Yii::setAlias("@mysite", "http://mysite.com");

    yii2 मधील पथ उपनाव उपनाम गुणधर्म वापरून ऍप्लिकेशन कॉन्फिगरेशन फाइलमध्ये सेट केले जाऊ शकतात, उदाहरणार्थ:

    परत करा [ // ... "aliases" => [ "@myalias" => "/path/to/myfolder", "@mysite" => "http://mysite.com" ], ];

    Yii 2 मध्ये मार्गाचे उपनाव (उर्फ) कसे मिळवायचे

    yii2 मध्ये पथ उपनाव मिळविण्यासाठी Yii::getAlias() पद्धत वापरा:

    इको Yii::getAlias("@myalias"); // परतावा: /path/to/myfolder echo Yii::getAlias("@mysite"); // परतावा: http://mysite.com echo Yii::getAlias("@myalias/other/folder/index.php"); // परतावा: /path/to/myfolder/other/folder/index.php

    Yii 2 मध्ये पथ उपनामांबद्दल अधिक

    उपनाव नाव

    उपनाव नावामध्ये / समाविष्ट असू शकते आणि Yii::getAlias() पद्धत हे निर्धारित करेल की कोणता भाग उपनाव नाव आहे आणि कोणता अतिरिक्त मार्ग आहे, उदाहरणार्थ:

    Yii::setAlias("@test", "/path/to/test"); Yii::setAlias("@test/val", "/path/to/val"); Yii::getAlias("@test/folder/index.php"); // परतावा: /path/to/test/folder/index.php Yii::getAlias("@test/val/index.php"); // परतावा: /path/to/val/index.php

    @test/val उपनाव ओळ 2 वर परिभाषित केले गेले नसते, तर ओळ 4 /path/to/test/val/index.php परत आली असती.

    विस्तार उपनावे

    कंपोझर वापरून एक्स्टेंशन इन्स्टॉल करताना, त्यासाठी एक उपनाव आपोआप सेट केला जातो (विस्ताराच्या रूट निर्देशिकेचा मार्ग). उदाहरणार्थ, imperavi redactor (vova07/yii2-imperavi-widget) स्थापित करताना, तुम्हाला @vova07/imperavi (@vendor/vova07/yii2-imperavi-widget/src) या पाथमध्ये प्रवेश असेल.

    Yii 2 बेसिक ऍप्लिकेशन मधील पथ उपनाम

    yii2 मूलभूत मधील मूलभूत, पूर्व-परिभाषित मार्ग उपनामांची सूची (उपनामे):

    • @web: ऍप्लिकेशन बेस URL
    • @webroot: वेबरूट ऍप्लिकेशन्स

    Yii 2 प्रगत ऍप्लिकेशनमधील पथ उपनाम

    yii2 प्रगत मधील मूलभूत, पूर्वनिर्धारित मार्ग उपनाम (उपनाम) ची सूची:

    • @app: ऍप्लिकेशन रूट निर्देशिका
    • @विक्रेता: @app अंतर्गत विक्रेता फोल्डर
    • @रनटाइम: तात्पुरत्या फाइल्स रनटाइम/कॅशे ऍप्लिकेशनचा मार्ग
    • @web: ऍप्लिकेशन बेस URL
    • @webroot: अनुप्रयोग चाचणी निर्देशिका
    • @tests: अनुप्रयोग चाचणी निर्देशिका
    • @common: @app अंतर्गत सामान्य निर्देशिकेसाठी उपनाव
    • @frontend: @app अंतर्गत, फ्रंटएंड निर्देशिकेसाठी उपनाव
    • @backend: @app अंतर्गत, बॅकएंड निर्देशिकेसाठी उपनाव
    • @कन्सोल: कन्सोल निर्देशिकेसाठी उपनाम, @app अंतर्गत
    • भाषांतर

    बॅश उपनाम ("उपनाम") हे फाईल्सचे शॉर्टकट आहेत जे तुम्हाला अधिक संस्मरणीय शब्द, संक्षेप किंवा वर्णांद्वारे दुसर्या कमांडचा संदर्भ घेण्याची परवानगी देतात. उदाहरणार्थ, जर तुम्ही Git वापरत असाल, तर तुम्ही दिवसभरात अनेक वेळा git स्टेटस चालवू शकता, त्यामुळे वेळ आणि कीस्ट्रोक वाचवण्यासाठी, तुम्ही त्याला एक उपनाव देऊ शकता जे योग्य कमांड कॉल करेल.

    मी गेल्या काही वर्षांमध्ये अनेक असामान्य उपनावे पाहिली आहेत आणि त्यापैकी बरेच वैयक्तिक आहेत. एका व्यक्तीला अर्थ देणारी लेबले दुसऱ्यासाठी पूर्णपणे गोंधळात टाकणारी असू शकतात. हेच त्यांना खूप मजेदार बनवते.

    नाह="गिट रीसेट --हार्ड;गिट क्लीन -डीएफ"
    हे दाखवणे वास्तववादी आहे: कल्पना करा की तुम्ही एका नवीन वैशिष्ट्यावर काम करण्यास सुरुवात केली आहे आणि कदाचित काही नवीन फाइल्स जोडल्या आहेत आणि दुपारच्या जेवणानंतर तुम्ही सर्वकाही चुकीचे केले आहे असे ठरवले आहे. "nah" कमांड चालवल्याने कोड त्याच्या पूर्वीच्या स्थितीत परत येईल, केलेले कोणतेही बदल काढून टाकले जाईल. हे खूप सोयीस्कर आणि उपयुक्त आहे!

    आपले स्वतःचे उपनावे कसे तयार करावे

    जे बॅश उपनाम तयार करत नाहीत त्यांच्यासाठी, प्रक्रिया अगदी सोपी आहे. प्रथम, तुमच्या होम डिरेक्टरीमध्ये ~/.bashrc फाइल टेक्स्ट एडिटरसह उघडा. नंतर अनकमेंट करा किंवा खालील ओळी जोडा:

    जर [ -f ~/.bash_aliases]; नंतर ~/.bash_aliases fi
    कमांड तुम्हाला ~/.bash_aliases फाइल अस्तित्वात असल्यास ती लोड करण्यास सांगत आहे असे दिसते, त्यामुळे तुम्ही तुमचे सर्व उपनाम (उपनामे) त्यात टाकू शकता आणि ते शेअर करणे सोपे करू शकता. शेवटी, ~/.bash_aliases फाइल तयार करा आणि तुमचे पहिले उपनाव म्हणून खालील जोडा:

    Aliasart="php कारागीर"
    बदल जतन करा आणि टर्मिनलमध्ये कमांड चालवा:

    स्रोत ~/.bashrc
    तुमच्याकडे आता "कला" उपनाव वापरण्याचा पर्याय आहे.

    फक्त लक्षात ठेवा की प्रत्येक वेळी तुम्ही ~/.bash_aliases फाइल बदलता, तुम्हाला ही कमांड चालवावी लागेल किंवा बदल लागू करण्यासाठी तुमचे टर्मिनल रीस्टार्ट करावे लागेल.

    Laravel साठी समुदाय उपनाम

    खाली Laravel समुदायाद्वारे वापरल्या जाणार्‍या उपनामांची सूची आहे:

    लहर खाच

    # Laravel artisan() ( जर [ -f bin/artisan ]; नंतर php bin/artisan " [ईमेल संरक्षित]"दुसरा php कारागीर" [ईमेल संरक्षित]" fi ) alias serve="artisan serve" alias tinker="artisan tinker" # Misc PHP t() ( जर [ -f विक्रेता/bin/phpunit ]; नंतर विक्रेता/bin/phpunit " [ईमेल संरक्षित]"इतर phpunit" [ईमेल संरक्षित]"fi)

    bmadigan

    nah="git reset --hard;git clean -df" vm="ssh [ईमेल संरक्षित]-पी 2222"

    तैनमार

    pa="php कारागीर"

    मोहम्मद म्हणाले

    उर्फ ​​dracarys="git reset --hard && git clean -df" उर्फ ​​copyssh="pbcopy< $HOME/.ssh/id_rsa.pub" alias reloadcli="source $HOME/.zshrc" alias zshrc="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/.zshrc " alias shrug="echo "¯\_(ツ)_/¯" | pbcopy"; alias fight="echo "(ง"̀-"́)ง" | pbcopy"; *** This one opens a PR from the current branch function openpr() { br=`git branch | grep "*"` repo=$1 parentBranch=$2 open -a /Applications/Google\ Chrome.app https://github.com/${repo/* /}/compare/${parentBranch/* /}...themsaid:${br/* /}\?expand\=1 }

    जेफ्री वे

    उर्फ gl="git log --graph --pretty=format:"%Cred%h%Creset -%C(पिवळा)%d%Creset %s %Cgreen(%cr) %C(ठळक निळा)<%an>%Creset" --abbrev-commit" उर्फ ​​wip="git add. && git कमिट -m "wip"" उर्फ ​​nah="git reset --hard && git clean -df" उर्फ ​​p="phpunit" उर्फ ​​pf=" phpunit --filter " alias art="php artisan" उर्फ ​​migrate="php artisan migrate"

    बिल मिशेल

    उर्फ a="php artisan" उर्फ ​​pu="vendor/bin/phpunit" उर्फ ​​puf="vendor/bin/phpunit --filter " alias pug="vendor/bin/phpunit --group " उर्फ ​​cdo="कंपोजर डंप- ऑटोलोड -ओ" उर्फ ​​सर्व्हर="php आर्टिसन सर्व्ह"

    जिझस अमीरो

    उर्फ pa="php artisan" उर्फ ​​par:l="php artisan route:list" alias pam="php artisan migrate" alias pam:r="php artisan migrate:refresh" alias pam:rs="php artisan migrate:refresh --seed" उर्फ ​​cu="composer update" उर्फ ​​ci="composer install" उर्फ ​​cda="composer dump-autoload -o" उर्फ ​​vu="cd ~/Homestead && vagrant up" उर्फ ​​vs="vagrant suspend" उर्फ ​​vssh ="वाग्रंट ssh"

    पिओटर

    उर्फ कारागीर = "php कारागीर" उर्फ ​​db-reset="php artisan migrate:reset && php कारागीर स्थलांतर --seed"

    freekmurze

    उर्फ a="php कारागीर"

    पॉलरेडमंड

    उर्फ _="सुडो" उर्फ ​​कला="php आर्टिसन" उर्फ ​​टिंकर="php आर्टिसन टिंकर" उर्फ ​​ll="ls -lh" उर्फ ​​la="ls -lAh" उर्फ ​​c="composer" उर्फ ​​iphp="psysh" # repl उर्फ ​​g="git" उर्फ ​​gs="git स्थिती" उर्फ ​​d="docker" उर्फ ​​dc="docker-compose" उर्फ ​​dm="docker-machine" उर्फ ​​k="kubectl" उर्फ ​​publicip="dig +short myip .opendns.com @resolver1.opendns.com" उर्फ ​​chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome" # फाइल आणि फोल्डर परवानग्या ऑक्टल म्हणून दाखवा # वापर: `octal file.txt` किंवा `octal my/path` alias octal="stat -f "%A %a %N"" # लिनक्स उर्फ ​​pbcopy="xclip -selection clipboard" alias pbpaste="xclip -selection clipboard -o" टाइप केल्यास मॅक सुविधा xdg-open" &> /dev/null; नंतर उपनाम open="xdg-open" fi

    टीजे मिलर

    nah: aliased to git reset --hard && git clean -fd aa: उपनाम ते php आर्टिसन

    sebastiaanluca

    # हब (गिट कमांड्स वाढवा) उर्फ ​​git=hub # निर्देशिका उर्फ ​​ll="ls -FGlAhp" उर्फ ​​..="cd ../" उर्फ ​​...="cd ../../" उर्फ ​​.... ="cd ../../../" उर्फ ​​.....="cd ../../../../" उर्फ ​​df="df -h" उर्फ ​​diskusage="df" उर्फ fu="du -ch" उर्फ ​​फोल्डरसेज="fu" उर्फ ​​tfu="du -sh" उर्फ ​​totalfolderusage="tfu" उर्फ ​​फाइंडर="ओपन -ए "फाइंडर" ." # व्हॅग्रंट उर्फ ​​व्हॅग्रंटगो="व्हॅग्रंट अप && व्हॅग्रंट ssh" उर्फ ​​vgo="vagrantgo" उर्फ ​​व्हॅल्ट="(!LANG:vagrant halt" alias vreload="vagrant reload && vgo" # PHP alias c="composer" alias cr="composer require" alias cda="composer dumpautoload" alias co="composer outdated --direct" alias update-global-composer="cd ~/.composer && composer update" alias composer-update-global="update-global-composer" alias a="php artisan" alias pa="php artisan" alias phpa="php artisan" alias art="php artisan" alias arti="php artisan" alias test="vendor/bin/phpunit" alias y="yarn" alias yr="yarn run" # Homestead alias edithomestead="open -a "Visual Studio Code" ~/Homestead/Homestead.yaml" alias homesteadedit="edithomestead" alias dev-homestead="cd ~/Homestead && vgo" alias homestead-update="cd ~/Homestead && vagrant box update && git pull origin master" alias update-homestead="homestead-update" # Various alias editaliases="open -a "Visual Studio Code" ~/.bash_aliases" alias showpublickey="cat ~/.ssh/id_ed25519.pub" alias ip="curl icanhazip.com" alias localip="ifconfig | grep -Eo "inet (addr:)?(*\.){3}*" | grep -Eo "(*\.){3}*" | grep -v "127.0.0.1"" alias copy="rsync -avv --stats --human-readable --itemize-changes --progress --partial" # Functions mkcdir () { mkdir -p -- "$1" && cd -P -- "$1" } function homestead() { (cd ~/Homestead && vagrant $*) } !}

    अलेक्झांडर मेलिहोव्ह

    उर्फ ars="php कारागीर सर्व्ह" उर्फ ​​कला="php कारागीर टिंकर"

    जॉर्डनबाडे

    उर्फ l="php कारागीर"

    डेलू

    उर्फ युनिट="php विक्रेता/phpunit/phpunit/phpunit" उर्फ ​​unitreport="php -d xdebug.profiler_enable=विक्रेत्यावर/phpunit/phpunit/phpunit --coverage-html=./public/report" उर्फ ​​laravel-installer=" संगीतकार तयार-प्रोजेक्ट --prefer-dist laravel/laravel"

    curieuxmurray

    उर्फ कारागीर="php कारागीर" उर्फ ​​cclear="php कारागीर कॅशे:क्लियर" # आता 5.5 उर्फ ​​ताजे="कारागीर स्थलांतरित: ताजे --सीड" सह

    विल्बर पॉवर

    उर्फ pf="phpunit --filter" उर्फ ​​कारागीर="php कारागीर" उर्फ ​​टिंकर="php कारागीर टिंकर"

    waunakeesoccer1

    उर्फ mfs="php कारागीर स्थलांतर: ताजे -- बियाणे"

    अनुवादकाकडून

    मी स्वतः खालील उपनावे वापरतो:

    उर्फ कला="php कारागीर" उर्फ ​​da="composer dumpauto" उर्फ ​​migrate="php artisan migrate"

    विंडोज मधील उपनाम

    विंडोज ऑपरेटिंग सिस्टमवर, doskey कमांड वापरून उपनाम सेट केले जातात. उदाहरणार्थ:
    doskey art=php कारागीर $*

    पण एक "BUT" आहे: पुढच्या वेळी जेव्हा तुम्ही Windows कमांड लाइन उघडाल तेव्हा ती त्यांना "विसरेल". या समस्येचे निराकरण करणे खूप सोपे आहे.

    सोयीसाठी, तुमच्या %USERPROFILE% खात्याच्या फोल्डरवर जा आणि त्यात dos_aliases.bat फाइल तयार करा.

    फाईलच्या आत, आम्ही आम्हाला आवश्यक असलेल्या आज्ञा लिहितो, उदाहरणार्थ:

    Doskey art=php कारागीर $*

    "अॅस्टेरिस्कसह डॉलर" हे उपनाव हे समज देते की कोणतेही वितर्क आणि/किंवा पॅरामीटर्स त्यास पास केले जाऊ शकतात, उदाहरणार्थ, कोर इंजिनची आवृत्ती प्रदर्शित करण्यासाठी आर्ट -व्ही.

    पुढे, स्टार्ट मेनूमध्ये, कमांड लाइन (cmd.exe) शोधा, त्यावर उजवे-क्लिक करा आणि शॉर्टकट तयार करा, डेस्कटॉपवर सेव्ह करा. पुढे, या शॉर्टकटवर उजवे-क्लिक करा, ड्रॉप-डाउन मेनूमधील "गुणधर्म" निवडा (इंग्रजीमध्ये "गुणधर्म" किंवा जर्मनमध्ये "Eigenschaften"), नंतर "लक्ष्य" फील्डमध्ये (इंग्रजीमध्ये "लक्ष्य" किंवा "झिल" " जर्मनमध्ये, वापरलेल्या OS लोकॅलायझेशनवर अवलंबून), जिथे आपल्याला %windir%\system32\cmd.exe ही ओळ दिसते, /k %USERPROFILE%\dos_aliases.bat जोडा. अशाप्रकारे, आम्ही या शॉर्टकटने कमांड लाइन उघडून प्रत्येक वेळी आमची फाईल लोड होण्यास भाग पाडतो.

    संपूर्ण ओळ यासारखी दिसेल:
    %windir%\system32\cmd.exe /k %USERPROFILE%\dos_aliases.bat

    त्यानंतर, आम्ही संपादित केलेला शॉर्टकट वापरून कमांड लाइन सेव्ह आणि रन करतो. व्होइला!

    ओपनसर्व्हर

    OpenServer कन्सोल वापरणाऱ्यांसाठी, गोष्टी आणखी सोप्या आहेत: कन्सोल कॉन्फिगरेशन %ConEmuBaseDir%\CmdInit.cmd फाइलमध्ये संग्रहित केले आहे.

    अर्थात, जर आपण मार्गात प्रवेश केला तर ऑपरेटिंग सिस्टम शपथ घेते. याचे कारण असे की तिला या मार्गाच्या अस्तित्वाविषयी माहिती नाही - ते ओपनसर्व्हर वातावरणात वापरले जाते जेणेकरून सिस्टममध्ये कचरा होऊ नये.

    त्यामुळे, आम्हाला स्थापित केलेल्या ओपनसर्व्हरसह फोल्डरमध्ये आवश्यक असलेली फाइल सापडेल: \modules\conemu\ConEmu\CmdInit.bat.

    ते मजकूर संपादकासह उघडा आणि फाइलच्या तळाशी आमची कमांड जोडा:

    Doskey art=php कारागीर $*

    कन्सोल जतन करा आणि चालवा. नफा!

    सादृश्यतेनुसार, तुम्ही पूर्णपणे कोणत्याही कमांड्स जोडू शकता ज्यामध्ये प्रवेश करण्यासाठी वेळ कमी करून तुमचे जीवन सोपे होईल.

    विंडोज पॉवरशेल

    आम्ही प्रशासक म्हणून Windows PowerShell शेल सुरू करतो आणि आदेश चालवून `ps1` विस्तारासह वैयक्तिक स्क्रिप्ट चालवण्याचे अधिकार तपासतो:

    गेट-एक्झिक्युशन पॉलिसी

    डीफॉल्ट धोरण `प्रतिबंधित` आहे, जे कोणत्याही स्क्रिप्टच्या अंमलबजावणीला प्रतिबंधित करते. नेटवर्कवरून डाउनलोड केलेल्या स्क्रिप्ट वगळता सर्व स्क्रिप्ट चालवण्यास अनुमती देऊन आम्ही ते `रिमोट साइन्ड` ने बदलू:

    सेट-एक्झिक्युशन पॉलिसी रिमोट साइन केलेले

    नवीन-आयटम -प्रकार फाइल $PROFILE

    या टप्प्यावर, एक त्रुटी दिसू शकते, कारण निर्देशिका " विंडोज पॉवरशेल"- चला ते तयार करूया... होय, स्वहस्ते. मग आपण कमांड पुन्हा करू.

    `%USERPROFILE%\Documents\WindowsPowerShell` फोल्डरवर जा आणि मजकूर संपादकासह `Microsoft.PowerShell_profile.ps1` फाईल उघडा. आम्ही आमच्या आज्ञा त्यात प्रविष्ट करू.

    प्रथम, मी ताबडतोब इच्छित निर्देशिकेत संक्रमण नोंदणीकृत केले:

    cd "f:\dev\domains\"

    आणि खाली अशी उपनावे आहेत:
    कला = php कारागीर स्थलांतर = php कारागीर स्थलांतरित = php कारागीर खाली = php कारागीर अप cclear = php कारागीर कॅशे: क्लियर da = संगीतकार डंपऑटो डॉकअप = डॉकर-कंपोज अप -d nginx mysql redis beanstalkd docpose-docdown = docdown docker-compose exec वर्कस्पेस बॅश

    पॉवरशेलमध्ये पॅरामीटरसह कमांड सेट करण्यासाठी, तुम्हाला एक फंक्शन वापरण्याची आवश्यकता आहे, ज्यामध्ये प्राप्त युक्तिवाद पास केले जातील. अशा प्रकारे, PowerShell मधील कमांड उर्फ ​​`आर्ट` बनते:

    फंक्शन कॉल-आर्ट ( php artisan $args ) नवीन-अलियास -नाव कला -व्हॅल्यू कॉल-आर्ट

    आणि मी विंडोज पॉवरशेल शेलमधील माझ्या उपनामांच्या संपूर्ण सूचीसह लेख संपवतो:

    # मुख्य डिरेक्टरी सीडी "f:\dev\domains" सेट करा # कारागीर आदेश. फंक्शन कॉल-आर्ट ( php artisan $args ) नवीन-अलियास -नाव कला -मूल्य कॉल-आर्ट # डेटाबेस स्थलांतरे चालवा. फंक्शन कॉल-आर्ट-माइग्रेट ( php आर्टिसन माइग्रेट ) न्यू-अलियास -नाव स्थलांतर - व्हॅल्यू कॉल-आर्ट-माइग्रेट # अॅप्लिकेशनला मेंटेनन्स मोडमध्ये ठेवा. फंक्शन कॉल-आर्ट-डाउन ( php आर्टिसन डाउन ) न्यू-अलियास -नाव खाली - व्हॅल्यू कॉल-आर्ट-डाउन # अॅप्लिकेशनला मेंटेनन्स मोडमधून बाहेर आणा. फंक्शन कॉल-आर्ट-अप ( php आर्टिसन अप ) नवीन-अलियास -नाव अप -व्हॅल्यू कॉल-आर्ट-अप # ऍप्लिकेशन कॅशे फंक्शन फ्लश करा कॉल-आर्ट-कॅशे-क्लियर ( php आर्टिसन कॅशे:क्लियर ) नवीन-अलियास ​-नाव cclear -Value Call-Art-Cache-Clear # Composer Dump-Autoload. फंक्शन कॉल-कंपोझर-डंप-ऑटोलोड ( कंपोजर डम्पऑटो ) नवीन-अलियास -नाव da -Value Call-Composer-Dump-Autoload # डॉकर फंक्शन सुरू करा कॉल-स्टार्ट-डॉकर ( डॉकर-कंपोज अप -d nginx mysql redis beanstalkd ) नवीन -अलियास -नाव डॉकअप -व्हॅल्यू कॉल-स्टार्ट-डॉकर # किल द डॉकर फंक्शन कॉल-किल-डॉकर (डॉकर-कंपोज किल) न्यू-अलियास -नाव डॉकडाउन -व्हॅल्यू कॉल-किल-डॉकर # एंटर करा डॉकर फंक्शन कॉल-एंटर- डॉकर (डॉकर-कंपोज एक्झिक वर्कस्पेस बॅश) नवीन-अलियास-नाव डॉक-व्हॅल्यू कॉल-एंटर-डॉकर

    आतापासून, प्रत्येक वेळी जेव्हा तुम्ही प्रोग्राम शेल सुरू कराल तेव्हा आमची फाईल आपोआप लोड होईल, तुम्हाला तुमच्या आवडत्या कमांड्स वापरण्याची संधी मिळेल.