Laravel на Windows

teroristd

Registered
Реших да си инсталирам Ларавел на лаптопа, не защото ми харесва :D , а защото се ползва много и искам да се науча, пък да видим може и да си променя мнението. В момента съм с Windows 7, и няма как да сложа Linux, по причини свързани с работата ми. Естествено разправията започна още от началото :) , промени на файлове в операционната система, права, вдигане на виртуални хостове и т.н. За тези неща както и да е, знам какво съм направил и къде съм пипал, но като почнах да инсталирам композера той иска да промени php.exe файла. Та се чудя първо какво ще промени, второ ако не ми хареса може ли да се махне без да ми създава главоболия? Също така как да стартирам инсталацията на Ларавел?
 
eLite каза:
https://laravel.com/docs/5.3/homestead :?:

Това не става php версията ми е 5.6.3

Инсталирах композера, отварям command prompt, викам композера навигирам до xampp\htdocs и пиша composer create-project laravel\laravel --prefer dist и ми дава грешка Could not find package laravel\laravel with stability stable.
 
Това е преконфигурирана Linux виртуална машина..

1. Инсталираш VirtualBox
2. Инсталираш Vagrant
3. Инсталираш Git-SCM
4. Пускаш Git Bash и изпълняваш следните команди:
Код:
> cd /c/
> ssh-keygen
> git clone https://github.com/laravel/homestead.git Homestead
> cd /c/Homestead
> init.bat
> mkdir /c/Code
> wordpad ~/.homestead/Homestead.yaml
5. Променяш стойноста на memory - 2 гъбки са достатъчно, но ако нямаш ресурси и 1 стига.
6. Променяш "~/Code" с "/c/Code"
7. Отваряш notepad като администратор, отваряш "C:\Windows\System32\drivers\etc\hosts" и добавяш:
Код:
192.168.10.10 homestead.local
8. Връщаш се към Git Bash и изпълняваш следните команди:
Код:
> cd /c/Homestead
> vagrant up
9. Чакаш да се изтегли Vagrant Box-а.
10. Изпълняваш "vagrant ssh" в Git Bash
11. След като се свържеш с машината, изпълняваш следните команди:
Код:
> cd /home/vagrant/Code
> composer self-update
> composer create-project laravel/laravel Laravel
12. Отваряш Browser-а на Windows-а ти и пишеш homestead.local в адресната лента

Кода можеш да си го пипаш от Windows-a - намира се в C:\Code\

Кажи ако искаш да го разкараш, ще напиша какво трябва да изтриеш.
 
Инсталирах композера, отварям command prompt, викам композера навигирам до xampp\htdocs и пиша composer create-project laravel\laravel --prefer dist и ми дава грешка Could not find package laravel\laravel with stability stable.

Пробвай с: laravel/laravel
 
eLite каза:
Инсталирах композера, отварям command prompt, викам композера навигирам до xampp\htdocs и пиша composer create-project laravel\laravel --prefer dist и ми дава грешка Could not find package laravel\laravel with stability stable.

Пробвай с: laravel/laravel

Благодаря така се получи :) . Явно съм объркал наклонените черти. Горния пост няма да го пробвам сега, но мерси за обяснението.

Отворих проекта в netbeans и ми направи впечатление че има няколко файла в Ларавел със синтактични грешки, например това.

Код:
 public function returnString(): string
    {
    }

Това все едно е писано за java :D . Защо е така?
 
teroristd каза:
Горния пост няма да го пробвам сега, но мерси за обяснението.

Минал съм от там, мога да ти кажа, че това е най-удобния начин за писане на код.

Можеш да си боцнеш XDEBUG и да си debug-ваш PHP както c++ или c# ot NetBeans.

teroristd каза:
Отворих проекта в netbeans и ми направи впечатление че има няколко файла в Ларавел със синтактични грешки, например това.

Код:
 public function returnString(): string
    {
    }

Това все едно е писано за java :D . Защо е така?
PHP 7: https://wiki.php.net/rfc/return_types
 
Аз xdebug го имам и в netbeans-a, но дебъгинга ми е тъмна индия. Изобщо нямам идея за какво иде реч :) . А за грешките ако те разбирам правилно тези класове са писани за пхп7, което значи че не мога да ги ползвам. Тука също дава грешка това пак ли е пхп7

Код:
foreach ($this->listenerIds[$eventName] as $i => list($serviceId, $method, $priority))
 
Не. Това си е най-обикновен foreach.

НО! Има разлика как се обработва: list() в php5 и php7 - http://php.net/list

Може там да е проблема.

По-добре си изтегли Laravel 5.2, мисля, че той беше съвместим с php5.6
 
eLite каза:
Не. Това си е най-обикновен foreach.

НО! Има разлика как се обработва: list() в php5 и php7 - http://php.net/list

Може там да е проблема.

По-добре си изтегли Laravel 5.2, мисля, че той беше съвместим с php5.6

То композера автоматично ми изтегли Laravel 5.2. Сега ако реша да го махна и да пробвам по ниска версия, само папката ли трябва да изтрия?
 
Всички версии, от 5.0.* до 5.2.* са пълни с грешки, дори и в 4-ворката има. Чак е дразнещо. Все пак моята версия на пхп не е толкова ниска 5.6.3. За тия хора дебъгинг няма ли :D ?
 
За какви грешки става въпрос?

Laravel 5.3 изисква php >= 5.6.4
Laravel 5.2 и 5.1 изискват php >=5.5.9

https://github.com/laravel/laravel/blob/master/composer.json
https://github.com/laravel/laravel/blob/5.2/composer.json
https://github.com/laravel/laravel/blob/5.1/composer.json

Когато аз се мъчех да го подкарам, имаше сумати и проблеми в composer и artisan. Тогава проблема беше Linux-на под-система и за това мигрирах към homestead.

Имах повече успех с Git Bash-а - сигурно защото инсталира някаква под-система.

Опитай и ти: https://git-scm.com/
 
В крайна сметка сложих 5.2 и след известно време ровене, се оказа че повечето грешки са в някакви папки test. Това сигурно са някакви примерни кодове или нещо такова. Тези файлове ги изтрих. Остана една гршка в ContainerAwareEventDispatcher който според мен е важен клас. За тази грешка говорехме в по горните постове, използването на list във foreach. Четох из нета но никъде не видях да се ползва list по този начин, включително и в пхп7. Както и да е оправих грешката, и сега е ок. Има и още нещо, неймспейсовете им не отговарят, структурата на директориите, което не е фатално но е тъпо. Неприятното е че фреймуорк с такива претенции, си позволява такива работи.
 
teroristd каза:
В крайна сметка сложих 5.2 и след известно време ровене, се оказа че повечето грешки са в някакви папки test. Това сигурно са някакви примерни кодове или нещо такова. Тези файлове ги изтрих. Остана една гршка в ContainerAwareEventDispatcher който според мен е важен клас. За тази грешка говорехме в по горните постове, използването на list във foreach. Четох из нета но никъде не видях да се ползва list по този начин, включително и в пхп7. Както и да е оправих грешката, и сега е ок. Има и още нещо, неймспейсовете им не отговарят, структурата на директориите, което не е фатално но е тъпо. Неприятното е че фреймуорк с такива претенции, си позволява такива работи.

Я пак?
 
Защо не пробваш Symfony щом Laravel не ти харесва? Лично на мен Symfony ми беше по-приятен за работа, докато пишех на PHP.
 

Горе