Model a presenter -Invalid combination of tabs

mysak9
Člen | 18
+
0
-

Zdravím a prosím o radu. Jelikož už nevidím, kde by mohla být chyba.

Mám model Category

<?php

namespace PublicModule\Model;

use Nette;

/**
 * Users management.
 */
class Category
{
	use Nette\SmartObject;

	const
		TABLE_NAME = 'users',
		COLUMN_ID = 'id',
		COLUMN_NAME = 'username',
		COLUMN_PASSWORD_HASH = 'password',
		COLUMN_EMAIL = 'email',
		COLUMN_ROLE = 'role';


	/** @var Nette\Database\Context */
	private $database;


	public function __construct(Nette\Database\Context $database)
	{
		$this->database = $database;
	}
...

V presenteru mám

<?php

namespace PublicModule\Presenters;

use PublicModule\Model\Category;

/**
 * Description of IndexPresenter
 *
 * @author Mysak
 */
class IndexPresenter extends BasePresenter
{

    private $category;

    private $userManager;


    public function __construct(\PublicModule\Model\Category $category) {
        $this->category = $category;

    }

Config

services:
	- PublicModule\Model\UserManager
   	- PublicModule\Model\Category

Ale laděnka mi vyhazuje: Invalid combination of tabs and spaces on line 20, column 9.. Což odpovídá řádku právě s registrací modelu category, ale kde je co špatně? Díky za radu.

Jan Tvrdík
Nette guru | 2595
+
+4
-

@mysak9 No chyba je, že to máš na tom řádku špatně odsazeno. Nesmíš kombinovat odsazování mezerami a tabulátory v rámci jednoho souboru.

matopeto
Člen | 395
+
+1
-

Samozrejme Jan hovori o config.neon :)

mysak9
Člen | 18
+
0
-

Jasný, už sem na to došel… Jiné pc a nepozornost. Díky :)

peter8205
Člen | 3
+
0
-

Ahoj mám rovnaký problém a aj v dokumentácii som si prečítal že sa nemôžu kombinovať medzery s tabelátormi.
Ale povedzte mi ako mám do súboru config.neon s týmto textom:

services
App\Model\UserManager
App\Forms\FormFactory
App\Forms\SignInFormFactory
App\Forms\SignUpFormFactory

router: App\RouterFactory::createRouter

pridať riadok
App\Model\CalculatorManager

kde je kombinácia „tabelátor“-„medzera""App\Model\CalculatorManager“

peter8205
Člen | 3
+
0
-
services:
	- App\Model\UserManager
	- App\Forms\FormFactory
	- App\Forms\SignInFormFactory
	- App\Forms\SignUpFormFactory
	router: App\RouterFactory::createRouter
    - App\Model\CalculatorManage
CZechBoY
Člen | 3608
+
0
-

Misto jednoho tabulatoru muzes pouzit nekolik mezer. Musis mit jen jednotne odsazeni v celem souboru (bud jen mezery nebo jen tabulatory).

Marek Bartoš
Nette Blogger | 1153
+
0
-

kde je kombinácia „tabelátor“-„medzera""App\Model\CalculatorManager“

Jde jen o bílé místo na začátcích řádků, za prvním ne-bílým znakem je to jedno.

peter8205
Člen | 3
+
-6
-

ahoj jasne všetko chápem.
ale súbor je už vytvorený a keď chcem priadať riadok:

	- App\Model\CalculatorManage

tak predpokladám že je tam tabelátor.
dám tabelátor výsledok chybová hláška:
Invalid combination of tabs.

tak predpokladám že dotyčný čo ten súbor vytvoril použil miesto tabelátoru medzery.
1 tab mi vychádza že sú 4. medzeri, tak použijem 4 medzery miesto tab-u.
výsledok chýbová hláška:
Invalid combination of tabs.

strašne ďakujem tvorcovi neon súboru, aby sa človek nervoval už len pri
odsádzaní riadkov.

Kamil Valenta
Člen | 756
+
+2
-

Tak ho nepoužívej. Neon, resp. Nette je tu zdarma a usnadňuje práci i těm, kteří pro to nehnuli ani brvou (já např.).

Případně nevidím problém v tom (tak to dělám já), že předchozí řádek zkopíruješ a jen změníš název třídy, whitespace pak ani neřešíš.

Tomáš Vodička
Člen | 28
+
+4
-

peter8205 napsal(a):

tak predpokladám že dotyčný čo ten súbor vytvoril použil miesto tabelátoru medzery.

Můžeš si zapnout netisknutelné znaky a podívat se, čím je to odsazené, lepší než předpokládat

Marek Bartoš
Nette Blogger | 1153
+
+1
-

strašne ďakujem tvorcovi neon súboru, aby sa človek nervoval už len pri odsádzaní riadkov

Nezapomeň poděkovat i tvůrcům yaml, pythonu a všech dalších space-sensitive formátů a jazyků

Bílé znaky si můžeš zobrazit a taky by to chtělo uvědomit si, že šířka tabu je konfigurovatelná. Někdo ho může mít jako 4 mezery, někdo 8… Možnost kombinovat by teprve byl nervy rvoucí problém, ne to že neumíš správně používat taby a mezery.

Editoval Mabar (15. 11. 2019 15:36)