LARAVEL

LARAVEL

Laravel Valet

 

Giriş

Valet, Mac minimalistleri için bir Laravel geliştirme ortamıdır. Vagrant yok, dosya yok . Yerel tünelleri kullanarak sitelerinizi herkese açık olarak paylaşabilirsiniz. Evet, biz de onu seviyoruz./etc/hosts

Laravel Valet, makinenizi çalıştırdığında Mac'inizi arka planda her zaman Nginx çalıştırmak üzere yapılandırır. Ardından, DnsMasq kullanarak , Valet yerel makinenize yüklenmiş sitelere yönlendirmek için alan adındaki tüm istekleri proxy'ler.*.dev

Başka bir deyişle kabaca 7 MB RAM kullanan çarpıcı bir hızlı Laravel geliştirme ortamı. Valet Vagrant veya Homestead için tam bir yedek değil, ancak esnek temeller istiyorsanız, aşırı hız istiyorsanız veya RAM sınırlı miktarda bir makine üzerinde çalışıyorsanız harika bir alternatif sağlar.

Valet desteği, bunlarla sınırlı olmamak üzere aşağıdakileri içerir:

Bununla birlikte, Valet'i kendi özel sürücülerinizle birlikte uzatabilirsiniz .

 

Valet veya Homestead

Bildiğiniz gibi Laravel , başka bir yerel Laravel geliştirme ortamı olan Homestead'i sunar. Homestead ve Vale, amaçlanan kitleye ve yerel kalkınma yaklaşımlarına göre farklılık gösterir. Homestead, otomatik Nginx yapılandırması ile tüm bir Ubuntu sanal makine sunmaktadır. Tam anlamıyla sanallaştırılmış bir Linux geliştirme ortamı istiyorsanız veya Windows / Linux üzerinde bulunuyorsanız, Homestead harika bir seçimdir.

Valet yalnızca Mac'i destekler ve doğrudan yerel makinenize PHP ve bir veritabanı sunucusu yüklemenizi gerektirir. Bu ve gibi komutlarla Homebrew kullanarak kolayca elde edilir . Valet, minimum kaynak tüketimi ile çarpıcı hızlı bir yerel geliştirme ortamı sunar, bu nedenle sadece PHP / MySQL gerektiren ve tam olarak sanallaştırılmış bir geliştirme ortamına ihtiyaç duymayan geliştiriciler için harika.brew install php71brew install mysql

Hem Valet hem de Homestead, Laravel geliştirme ortamınızı yapılandırmak için mükemmel seçeneklerdir. Hangisini seçerseniz, kişisel zevkinize ve ekibinizin ihtiyaçlarına bağlı olacaktır.

 

Kurulum

Vale MacOS ve Homebrew gerektirir . Yüklemeden önce, Apache veya Nginx gibi başka hiçbir programın yerel makinenizin bağlantı noktası 80'e bağlanmadığından emin olmalısınız.

  • Kullanarak Homebrew'u en son sürüme kurun veya güncelleyinbrew update .
  • Via Homebrew kullanarak PHP 7.1'i yükleyin .brew install homebrew/php/php71
  • Vale ile Besteci yükleyin . Dizinin sisteminizin "YOLU" içinde olduğundan emin olun .composer global require laravel/valet~/.composer/vendor/bin
  • Run valet installkomutunu. Bu, Valet ve DnsMasq'ı yapılandıracak ve kuracak ve Valet'in arka plan programını sistem başlatıldığında başlatılacak şekilde kaydedecektir.

Valet kurulduktan sonra terminalinizdeki herhangi bir alana ping işlemi yapmayı deneyin . Valet doğru kurulmuşsa, bu alanın yanıt verdiğini görmelisiniz .*.devping foobar.dev127.0.0.1

Valet, makine her açıldığında arka plan programını otomatik olarak başlatacaktır. Çalıştırmak için gerek yoktur valet startya da valet installbaşlangıçtaki Vale Yükleme tamamlandıktan sonra bir daha.

Başka Bir Alanın Kullanılması

Varsayılan olarak, Valet, .devTLD'yi kullanarak projelerinize hizmet eder . Başka bir alan adı kullanmak isterseniz, bunu komutu kullanarak yapabilirsiniz.valet domain tld-name

Örneğin, kullanmak isterseniz .appyerine .dev, koşmak valet domain appve Vale de projelerinizi sunulmaya başlanır otomatik.*.app

Veritabanı

Bir veritabanına ihtiyacınız brew install mysqlvarsa, komut satırında MySQL'i deneyin . MySQL kurulduktan sonra, brew services start mysqlkomutu kullanarak başlatabilirsiniz . Daha sonra at veritabanına bağlanabilir kullanarak kullanıcı adı ve şifre için boş bir dize.127.0.0.1root

 

Yükseltme

Vale kurulumunuzu terminalinizdeki komutu kullanarak güncelleyebilirsiniz . Yükseltmeden sonra, Valet'in yapılandırma dosyalarınıza ek yükseltmeler yapabilmesi için komutu çalıştırmanız iyi bir uygulamadır.composer global updatevalet install

Valet 2.0'a Yükseltme

Valet 2.0, Valet'in temel web sunucusunu Caddy'den Nginx'e geçirmiştir. Bu sürüme geçmeden önce mevcut Caddy arka plan programını durdurup kaldırmak için aşağıdaki komutları çalıştırmalısınız:

valet stop
valet uninstall

Sonra, Valet'in en son sürümüne geçmelisiniz. Valet'i nasıl kurduğunuza bağlı olarak, bu genellikle Git veya Besteci ile yapılır. Besteci ile Valet'i kurduysanız, en yeni ana sürüme güncellemek için aşağıdaki komutu kullanın:

composer global require laravel/valet

Yeni Valet kaynak kodu indirildikten sonra, şu installkomutu çalıştırmalısınız :

valet install
valet restart

Yeni sürüme geçtikten sonra, sitelerinizi yeniden park etmek veya yeniden bağlamak gerekebilir.

 

Sunum Siteleri

Valet kurulduktan sonra, siteleri sunmaya hazırsınız demektir. Valet, Laravel sitelerine hizmet etmenize yardımcı olmak için iki komut sunar: parkve link.

parkKomut

  • Gibi bir şey çalıştırarak Mac'inizde yeni bir dizin oluşturun . Sonra ve kaç . Bu komut, geçerli çalışma dizininizi Valet'in siteleri araştırması gereken bir yol olarak kaydeder.mkdir ~/Sitescd ~/Sitesvalet park
  • Daha sonra, bu dizin içinde yeni bir laravel sitesi oluşturmak: .laravel new blog
  • Tarayıcınızda açın .http://blog.dev

Tüm olan bu kadar. Şimdi, "park edilmiş" dizininizde oluşturduğunuz herhangi bir Laravel projesi, kuralları kullanarak otomatik olarak sunulacaktır.http://folder-name.dev

linkKomut

linkKomut ayrıca laravel sitelerini hizmet etmek kullanılabilir. Bu komut, tek bir siteyi tüm dizini değil bir dizinde sunmak isterseniz kullanışlıdır.

  • Komutu kullanmak için projelerinizden birine gidin ve terminalinizde çalıştırın. Valet, geçerli çalışma dizininizi işaret eden sembolik bir bağlantı oluşturacaktır.valet link app-name~/.valet/Sites
  • linkKomutu çalıştırdıktan sonra siteye tarayıcınızdan erişebilirsiniz .http://app-name.dev

Bağlı dizinlerinizin tümünü görmek için valet linkskomutu çalıştırın . Sen kullanabilir sembolik bağlantıyı yok etmek.valet unlink app-name

 

Sen kullanabilirsiniz valet linkçoklu (alt) etki alanlarından aynı projeyi hizmet etmek. Projenize bir alt etki alanı veya başka bir etki alanı eklemek için proje klasöründen çalıştırın .valet link subdomain.app-name

Siteleri TLS ile Güvenceye Alma

Varsayılan olarak, Valet, düz HTTP üzerinden sitelere hizmet verir. Bununla birlikte, bir siteye HTTP / 2 kullanarak şifrelenmiş TLS üzerinden hizmet vermek istiyorsanız, securekomutu kullanın. Örneğin, siteniz Valet tarafından alan adında sunuluyorsa, güvenliğini sağlamak için aşağıdaki komutu çalıştırmalısınız:laravel.dev

valet secure laravel

Bir siteyi "güvensiz" hale getirmek ve trafiğini düz HTTP üzerinden tekrar sunmak için geri dönmek için unsecurekomutu kullanın. Gibi securekomuta bu komut size güvensiz isteyen ana bilgisayar adını kabul eder:

valet unsecure laravel

 

Siteleri Paylaşma

Valet, yerel sitelerinizi dünyayla paylaşmak için bir emir bile içeriyor. Vale kurulduktan sonra ek bir yazılım yüklemesi gerekmez.

Bir siteyi paylaşmak için, terminalinizdeki sitenin dizinine gidin ve valet sharekomutu çalıştırın . Herkese açık bir URL panonuza eklenir ve doğrudan tarayıcınıza yapıştırmaya hazır olur. Bu kadar.

Sitenizi paylaşmayı durdurmak için işlemi iptal etmek için tıklayın.Control + C

 

valet shareŞu anda bu valet securekomutu kullanarak güvenli hale getirilmiş paylaşım sitelerini desteklememektedir .

 

Özel Vale Sürücüleri

Valet tarafından doğal olarak desteklenmeyen başka bir çerçevede veya CMS'de çalışan PHP uygulamalarına hizmet etmek için kendi "Valet" sürücünüzü yazabilirsiniz. Eğer Valet yüklediğinizde, bir dizin bir içeren oluşturulur dosyayı. Bu dosya, özel bir sürücünün nasıl yazıldığını gösteren örnek bir sürücü uygulaması içerir. Bir sürücü yazmak, sadece üç yöntem uygulamak gerektirir: , , ve .~/.valet/DriversSampleValetDriver.phpservesisStaticFilefrontControllerPath

Tüm üç yöntem almak $sitePath$siteNameve $urionların argümanları olarak değerlerini. $sitePathSiteye tam yolu gibi makinenizde sunulmakta olup . "Ev sahibi" etki alanının / "site adı" bölümü (olan ). URI (gelen talebidir )./Users/Lisa/Sites/my-project$siteNamemy-project$uri/foo/bar

Özel Valet sürücüsünü tamamladıktan sonra, adlandırma kuralını kullanarak dizinin içine yerleştirin. Örneğin, WordPress için özel vale sürücüsü yazıyorsanız, dosya adınız olmalıdır .~/.valet/DriversFrameworkValetDriver.phpWordPressValetDriver.php

Şimdi, özel Valet sürücünüzün uygulayacağı her yöntemin örnek bir uygulamasına bir göz atalım.

servesYöntem

servesYöntem dönmelidir truesürücü, gelen isteği işlemesi gereken eğer. Aksi takdirde, yöntem dönmelidir false. Bu nedenle, bu yöntemde, verilen öğenin sunmaya çalıştığınız türde $sitePathbir proje içerdiğini belirlemeye çalışmalısınız .

Örneğin, bir tane yazdığınızı varsayalım WordPressValetDriver. Hizmet metodumuz şuna benzer:

/**
 * Determine if the driver serves the request.
 *
 * @param  string  $sitePath
 * @param  string  $siteName
 * @param  string  $uri
 * @return bool
 */
public function serves($sitePath, $siteName, $uri)
{
    return is_dir($sitePath.'/wp-admin');
}

isStaticFileYöntem

isStaticFileGelen istek böyle bir görüntü veya bir stil sayfası olarak, "statik" olan bir dosya için olup olmadığını belirlemek gerekir. Dosya statikse, yöntem statik dosyanın tam yolunu diskte döndürmelidir. Gelen istek statik bir dosya için değilse, yöntem geri dönmelidir false:

/**
 * Determine if the incoming request is for a static file.
 *
 * @param  string  $sitePath
 * @param  string  $siteName
 * @param  string  $uri
 * @return string|false
 */
public function isStaticFile($sitePath, $siteName, $uri)
{
    if (file_exists($staticFilePath = $sitePath.'/public/'.$uri)) {
        return $staticFilePath;
    }

    return false;
}

 

isStaticFileEğer yöntem yalnızca çağrılacak servesyöntemi döndürür truegelen isteğin ve URI değil istek için /.

frontControllerPathYöntem

frontControllerPathYöntem genellikle "index.php" dosyasını veya eşdeğer uygulamanızın "ön denetleyicisi", tam yolunu dönmelidir:

/**
 * Get the fully resolved path to the application's front controller.
 *
 * @param  string  $sitePath
 * @param  string  $siteName
 * @param  string  $uri
 * @return string
 */
public function frontControllerPath($sitePath, $siteName, $uri)
{
    return $sitePath.'/public/index.php';
}

 

Diğer Vale Komutları

Komuta Açıklama
valet forget Park edilmiş dizin listesinden kaldırmak için bu komutu bir "park edilmiş" dizinden çalıştırın.
valet paths "Park edilmiş" yollarınızın tümünü görüntüleyin.
valet restart Valet arka planını yeniden başlatın.
valet start Vale cinini başlatın.
valet stop Valet cinini durdurun.
valet uninstall Valet cinini tamamen kaldırın.

Henüz Yorum Yapılmamış, İlk Yorumu Siz Yapın

Yorum Yollayın