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 php71
brew 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üncelleyin
brew 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 install
komutunu. 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 .*.dev
ping foobar.dev
127.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 start
ya da valet install
başlangıçtaki Vale Yükleme tamamlandıktan sonra bir daha.
Başka Bir Alanın Kullanılması
Varsayılan olarak, Valet, .dev
TLD'yi kullanarak projelerinize hizmet eder . Başka bir alan adı kullanmak isterseniz, bunu komutu kullanarak yapabilirsiniz.valet domain tld-name
Örneğin, kullanmak isterseniz .app
yerine .dev
, koşmak valet domain app
ve Vale de projelerinizi sunulmaya başlanır otomatik.*.app
Veritabanı
Bir veritabanına ihtiyacınız brew install mysql
varsa, komut satırında MySQL'i deneyin . MySQL kurulduktan sonra, brew services start mysql
komutu kullanarak başlatabilirsiniz . Daha sonra at veritabanına bağlanabilir kullanarak kullanıcı adı ve şifre için boş bir dize.127.0.0.1
root
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 update
valet 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 install
komutu ç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: park
ve link
.
park
Komut
- 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 ~/Sites
cd ~/Sites
valet 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
link
Komut
link
Komut 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
link
Komutu ç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 links
komutu ç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, secure
komutu 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 unsecure
komutu kullanın. Gibi secure
komuta 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 share
komutu ç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 buvalet secure
komutu 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/Drivers
SampleValetDriver.php
serves
isStaticFile
frontControllerPath
Tüm üç yöntem almak $sitePath
, $siteName
ve $uri
onların argümanları olarak değerlerini. $sitePath
Siteye 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
$siteName
my-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/Drivers
FrameworkValetDriver.php
WordPressValetDriver.php
Şimdi, özel Valet sürücünüzün uygulayacağı her yöntemin örnek bir uygulamasına bir göz atalım.
serves
Yöntem
serves
Yöntem dönmelidir true
sü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 $sitePath
bir 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');
}
isStaticFile
Yöntem
isStaticFile
Gelen 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;
}
isStaticFile
Eğer yöntem yalnızca çağrılacakserves
yöntemi döndürürtrue
gelen isteğin ve URI değil istek için/
.
frontControllerPath
Yöntem
frontControllerPath
Yö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