codeigniter 3 fitxer .htaccess

Para dejar nuestro desarrollo con un toque más profesional, simplemente añadimos en la raíz de nuestro sitio un archivo llamado .htaccess con el siguiente contenido y problema resuelto.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]

Además debemos modificar el archivo application/config/config.php reemplazando la línea que dice

$config['index_page'] = 'index.php';

Por esto otro:

$config['index_page'] = '';

Eso es todo, ahora las URLs de nuestra aplicación serán limpias sin ese index.php agregado en medio.

www.misitio.com/controller/metodo

Updated: 2023-05-20 07:02:31

configuracio env to .env codeigniter 4

#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

CI_ENVIRONMENT = development

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

app.baseURL = 'http://ci4.test/'
# If you have trouble with `.`, you could also use `_`.
# app_baseURL = ''
# app.forceGlobalSecureRequests = false
# app.CSPEnabled = false

#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------

database.default.hostname = localhost
database.default.database = ci4
database.default.username = root
database.default.password = 
database.default.DBDriver = MySQLi
database.default.DBPrefix =database.default.port = 3306

Updated: 2023-05-17 04:27:00

codeigniter cridar CSS i javascript

<link rel="stylesheet" href="<?php echo base_url('assets/copy/style.css');?>">


<script  src="<?php echo base_url('assets/copy/script.js');?>"></script>

Updated: 2023-05-20 06:50:33

descarregar codeigniter

 Descàrrega de CodeIgniter
Podem descarregar la versió més actualitzada de CodeIgniter directament des de la seva pàgina web, a la secció de descàrregues: http://codeigniter.com/downloads/
En el moment d'escriure aquest article la versió més actual és la 1.7.2, però probablement quan llegiu aquest text ja l'hagin actualitzat, així que entreu al lloc de descàrregues per estar segur sobre la versió més nova que existeixi.

Updated: 2023-08-31 02:13:54

CODEIGNITER cridar imatge

 <?php echo base_url('assets/...'); ?>

Updated: 2023-08-31 14:36:20

examples controller - grocery crud

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Examples extends CI_Controller {

	public function __construct()
	{
		parent::__construct();
        $this->load->model("login_model");
		$this->load->database();
		$this->load->helper('url');
		$this->load->library('grocery_CRUD');
	}

	public function _example_output($output = null)
	{
		$this->load->view('example.php',(array)$output);
	}

	

	public function index()
	{
		
		$this->_example_output((object)array('output' => '' , 'js_files' => array() , 'css_files' => array()));
		
	}

	/**els meus cruds*/
	public function codes()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('codes');			
			$crud->set_subject('codes');	
			
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	public function news()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('news');			
			$crud->set_subject('news');	
			$crud->set_field_upload('img','../img/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	
	
	public function watercolors()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('watercolors');			
			$crud->set_subject('watercolors');	
			$crud->set_field_upload('img','../img/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}

	public function synology()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('synology');			
			$crud->set_subject('synology');	
			$crud->set_field_upload('img','../img/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	
	
	public function pages_mac()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('pages_mac');			
			$crud->set_subject('pages_mac');	
			$crud->set_field_upload('img','../img/localhost_mac/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	public function webs()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('webs');			
			$crud->set_subject('webs');	
			$crud->set_field_upload('img','../img/localhost_mac/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	public function people()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('people');			
			$crud->set_subject('people');	
			$crud->set_field_upload('img','../img/');
			$output = $crud->render();
			
			$this->_example_output($output);
			
	}
	
	public function tools()
	{
			$crud = new grocery_CRUD();
			$crud->set_table('tools');			
			$crud->set_subject('tools');	
			$crud->set_field_upload('img','../img/');			
			$output = $crud->render();
			$this->_example_output($output);
	}



}

Updated: 2023-08-31 14:43:54

Style Background image repeat o no

Updated: 2023-04-25 09:48:10

Tailwind Background Color

Updated: 2023-04-25 09:45:09

Bootstrap Background Color

Updated: 2023-04-25 09:45:34

style inline

 <h1 style="color: red; font-size: 40px;">Hello World</h1>

Updated: 2023-08-26 00:55:26

Person Resource

//crear resource Personcomposer require doctrine/dbal
php artisan make:filament-resource Person --generate


<?php

namespace App\Filament\Resources;

use App\Filament\Resources\PersonResource\Pages;
use App\Filament\Resources\PersonResource\RelationManagers;
use App\Models\Person;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\FileUpload;
use Filament\Tables\Columns\ImageColumn;
use Filament\Forms\Components\Select;

class PersonResource extends Resource
{
    protected static ?string $model = Person::class;

    protected static ?string $navigationIcon = 'heroicon-o-collection';

    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make('nom')
                    ->required()
                    ->maxLength(255),
                Forms\Components\FileUpload::make('img'),
                   
                Forms\Components\Select::make('categoria')
                    ->options([
        'photographers' => 'photographers',
        'painters' => 'painters',
        'influencers' => 'influencers',
		'music' => 'music',
        'models' => 'models',
        'esports' => 'espòrts',
    ]),
                Forms\Components\Select::make('vestit')
                    ->options([
        'vestit' => 'vestit',
        'nu' => 'nu',
        'linguerie' => 'linguerie',		
    ]),
                Forms\Components\Select::make('cabell')
                    ->options([
        'rossa' => 'rossa',
        'morena' => 'morena',
        'pelroja' => 'pelroja',		
    ]),
                Forms\Components\Select::make('origen')
                    ->options([
        'caucasica' => 'caucasica',
        'negra' => 'negra',
        'asiatica' => 'asiatica',
		'catalan' => 'catalan',
        'spanish' => 'spanish',
        'asia' => 'asia',
		'africa' => 'africa',
		'north_america' => 'north_america',
        'south_america' => 'south_america',
        'antarctica' => 'antarctica',
		'europe' => 'europe',
        'australia' => 'australia',
    ]),
                Forms\Components\TextInput::make('folder')
                    ->maxLength(255),
                Forms\Components\TextInput::make('ins')
                    ->maxLength(255),
                Forms\Components\TextInput::make('face')
                    ->maxLength(255),
                Forms\Components\TextInput::make('mp3')
                    ->maxLength(255),
                Forms\Components\TextInput::make('web')
                    ->maxLength(255),
					
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                Tables\Columns\TextColumn::make('nom')->limit(10),
                Tables\Columns\ImageColumn::make('img')->width(35),
                Tables\Columns\TextColumn::make('categoria')->limit(10),
                Tables\Columns\TextColumn::make('vestit')->limit(10),
                Tables\Columns\TextColumn::make('cabell')->limit(10),
                Tables\Columns\TextColumn::make('origen')->limit(10),
                Tables\Columns\TextColumn::make('folder')->limit(10),
                Tables\Columns\TextColumn::make('ins')->limit(10),
                Tables\Columns\TextColumn::make('face')->limit(10),
                Tables\Columns\TextColumn::make('mp3')->limit(10),
                
                Tables\Columns\TextColumn::make('updated_at')
                    ->dateTime(),
                Tables\Columns\TextColumn::make('web'),
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\DeleteBulkAction::make(),
            ]);
    }
    
    public static function getRelations(): array
    {
        return [
            //
        ];
    }
    
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListPeople::route('/'),
            'create' => Pages\CreatePerson::route('/create'),
            'edit' => Pages\EditPerson::route('/{record}/edit'),
        ];
    }    
}

Updated: 2023-09-04 09:12:07

instal.lacio filament

 
composer require filament/filament:"^2.0"


php artisan make:filament-user

Updated: 2023-05-25 16:19:05

crear el primer recurs

 //Si voleu estalviar temps, Filament pot generar automàticament el formulari i la taula per a vosaltres, a partir de les columnes de la base de dades del vostre model.//

composer require doctrine/dbal

php artisan make:filament-resource Web --generate

Updated: 2022-08-27 02:33:22

crear resource web de laravel filament

 //crear resource Web

php artisan make:filament-resource Web
 //editar WebResource

<?php

namespace App\Filament\Resources;

use App\Filament\Resources\WebResource\Pages;
use App\Filament\Resources\WebResource\RelationManagers;
use App\Models\Web;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;

class WebResource extends Resource
{
    protected static ?string $model = Web::class;

    protected static ?string $navigationIcon = 'heroicon-o-collection';

    public static function form(Form $form): Form
    {
        return $form
            ->schema([
				Forms\Components\FileUpload::make('img'),
                Forms\Components\TextInput::make('nom')
                    ->required()
                    ->maxLength(255),
                Forms\Components\TextInput::make('tipus')
                    ->maxLength(255),                
                
                Forms\Components\Select::make('framework')
                   ->options([
        'laravel' => 'laravel',
        'wordpress' => 'wordpress',
        'codeigniter' => 'codeigniter',
		'php' => 'php',
		]),
				Forms\Components\Select::make('css')
                     ->options([
        'bootstrap' => 'bootstrap',
        'tailwind' => 'tailwind',
        'uikit' => 'uikit',
		]),
		Forms\Components\Select::make('servidor')
                    ->options([
        'localhost' => 'localhost',
        'hostinger' => 'hostinger',
        'github' => 'github',
		'synology' => 'synology',
		]),
                Forms\Components\TextInput::make('url')
                    ->required()
                    ->maxLength(255),
                Forms\Components\TextInput::make('download')
                    ->maxLength(255),
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
			    Tables\Columns\ImageColumn::make('img')->width(35),
                Tables\Columns\TextColumn::make('nom')->limit(10)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('tipus')->limit(10)
				->searchable()
                ->sortable(),                
                Tables\Columns\TextColumn::make('framework')->limit(10)
				->searchable()
                ->sortable(),
				Tables\Columns\TextColumn::make('css')->limit(10)
				->searchable()
                ->sortable(),
				Tables\Columns\TextColumn::make('servidor')->limit(10)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('url')->limit(10),
                Tables\Columns\TextColumn::make('download')->limit(10),
                Tables\Columns\TextColumn::make('updated_at')
                    ->dateTime(),
                
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\DeleteBulkAction::make(),
            ]);
    }
    
    public static function getRelations(): array
    {
        return [
            //
        ];
    }
    
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListWebs::route('/'),
            'create' => Pages\CreateWeb::route('/create'),
            'edit' => Pages\EditWeb::route('/{record}/edit'),
        ];
    }    
}

Updated: 2023-09-02 04:42:04

slug

 Forms\Components\TextInput::make('nom')
				->required()
				->reactive()
				->afterStateUpdated(function (Closure $set, $state) {
					$set('slug', Str::slug($state));
				}),
                Forms\Components\TextInput::make('slug'),

Updated: 2022-12-24 01:20:48

code resource crear i editar en filament

 //crear code resource filament
php artisan make:filament-resource Code


//editar C:\xampp\htdocs\crud\app\Filament\Resources\CodeResource.php

<?php

namespace App\Filament\Resources;

use App\Filament\Resources\CodeResource\Pages;
use App\Filament\Resources\CodeResource\RelationManagers;
use App\Models\Code;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;

class CodeResource extends Resource
{
    protected static ?string $model = Code::class;

    protected static ?string $navigationIcon = 'heroicon-o-collection';

    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make('nom')
                    ->required()
                    ->maxLength(255),
				Forms\Components\Select::make('framework')
        ->options([
		'laravel' => 'laravel',
		'codeigniter' => 'codeigniter',		
		'wordpress' => 'wordpress',
        'php' => 'php',
		'html' => 'html',
		'css' => 'css',
		'llibreries' => 'llibreries',
    ]), 	
					
                Forms\Components\Select::make('tipus')
                    ->options([ 					
		'artisan' => 'artisan',
		'background' => 'background',
		'config' => 'config',
		'controllers' => 'controllers',
		'fancybox' => 'fancybox',
		'filament' => 'filament',
        'install' => 'install',
		'livewire' => 'livewire',
		'midlewares' => 'midlewares',
		'migrations' => 'migrations',
		'models' => 'models',		
		'query' => 'query',
        'resources' => 'resources',
		'routes' => 'routes',
		'text_color' => 'text_color',
		'views' => 'views',        
    ]),
                
				Forms\Components\Select::make('css')
        ->options([
		'bootstrap3' => 'bootstrap3',
		'bootstrap4' => 'bootstrap4',
		'uikit' => 'uikit',
		'tailwind' => 'tailwind',
        'standar' => 'standar',
    ]),            
             
	
				Forms\Components\RichEditor::make('blockcode')
					->columnSpan('full'),
					
				Forms\Components\RichEditor::make('detall')
					->columnSpan('full'),	
					
                Forms\Components\TextInput::make('youtube')
                    ->maxLength(255),
                Forms\Components\TextInput::make('url')
                    ->maxLength(255),
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
				Tables\Columns\TextColumn::make('id')->limit(5)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('nom')->limit(16)
				->searchable()
                ->sortable(),
				Tables\Columns\TextColumn::make('framework')->limit(5)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('tipus')->limit(5)
				->searchable()
                ->sortable(),
                
                Tables\Columns\TextColumn::make('css')->limit(5)
				->searchable()
                ->sortable(),
				
                Tables\Columns\TextColumn::make('blockcode')->limit(20),
                Tables\Columns\TextColumn::make('detall')->limit(10),
                Tables\Columns\TextColumn::make('youtube')->limit(10),
                Tables\Columns\TextColumn::make('url')->limit(10),
                Tables\Columns\TextColumn::make('updated_at')
                    ->dateTime(),
                
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\DeleteBulkAction::make(),
            ]);
    }
    
    public static function getRelations(): array
    {
        return [
            //
        ];
    }
    
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListCodes::route('/'),
            'create' => Pages\CreateCode::route('/create'),
            'edit' => Pages\EditCode::route('/{record}/edit'),
        ];
    }    
}

Updated: 2023-05-27 12:18:19

tool resource

 php artisan make:filament-resource Tool
 <?php

namespace App\Filament\Resources;

use App\Filament\Resources\ToolResource\Pages;
use App\Filament\Resources\ToolResource\RelationManagers;
use App\Models\Tool;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;

class ToolResource extends Resource
{
    protected static ?string $model = Tool::class;

    protected static ?string $navigationIcon = 'heroicon-o-collection';

    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make('nom')
                    ->required()
                    ->maxLength(255),
				Forms\Components\FileUpload::make('img'),                
                Forms\Components\MarkdownEditor::make('descripcio')
                    ->columnSpan('full'),
                Forms\Components\MarkdownEditor::make('body')
                    ->columnSpan('full'),
                Forms\Components\Select::make('categoria')
                    ->options([
        'requisits' => 'requisits',
        'formacio' => 'formacio',
        'framework' => 'framework',
        'css' => 'css',
		'themes' => 'themes',
        'llibreries' => 'llibreries',
        'icons' => 'icons',        
    ]),
                
                Forms\Components\TextInput::make('youtube')
                    ->maxLength(255),                
                Forms\Components\TextInput::make('web')
                    ->maxLength(255),
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                Tables\Columns\TextColumn::make('nom')->limit(10)
				->searchable()
                ->sortable(),
				Tables\Columns\ImageColumn::make('img')->width(35),                
                Tables\Columns\TextColumn::make('descripcio')->limit(15)
				->searchable()
                ->sortable(), 
                Tables\Columns\TextColumn::make('categoria')->limit(10)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('youtube')->limit(5),                
                Tables\Columns\TextColumn::make('web')->limit(5)
				->searchable()
                ->sortable(),
                Tables\Columns\TextColumn::make('updated_at')
                    ->dateTime(),
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\DeleteBulkAction::make(),
            ]);
    }
    
    public static function getRelations(): array
    {
        return [
            //
        ];
    }
    
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListTools::route('/'),
            'create' => Pages\CreateTool::route('/create'),
            'edit' => Pages\EditTool::route('/{record}/edit'),
        ];
    }    
}

Updated: 2023-09-01 21:26:49

Crear repositori a github i posar-hi el contingut desde HTDOCS

git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/estudijoanpuig/estudi.git
git push -u origin master

Updated: 2023-06-07 06:48:25

enllaços html links

enllaç obrir en finestra nova
<a href="url" target="_blank">titol</a>


link image dimensions
<a href="url web"><img src="url image"  width="150" height="150"></a>

Updated: 2022-08-06 09:06:48

filtre gallery uikit cards

<ul class="uk-subnav uk-subnav-pill">
					<li data-uk-filter-control=""><a href="#">Show All</a></li>
					<li class="uk-active" data-uk-filter-control=".cap"><a href="#">cap</a></li>
					<li data-uk-filter-control=".github"><a href="#">github</a></li>
					<li data-uk-filter-control=".servidor"><a href="#">servidor</a></li>
					<li ><a href="/laravel">laravel</a></li>
					<li data-uk-filter-control=".llibreries"><a href="#">llibreries</a></li>
					<li data-uk-filter-control=".php"><a href="#">php</a></li>
					<li data-uk-filter-control=".html"><a href="#">html</a></li>
					<li data-uk-filter-control=".css"><a href="#">css</a></li>
					<li data-uk-filter-control=".voyager"><a href="#">voyager</a></li>
					<li data-uk-filter-control=".filament"><a href="#">filament</a></li>
				</ul>

Updated: 2022-08-08 05:23:17

meta tags in head

  <meta name="description" content="sale of watercolors">
  <meta name="keywords" content="watercolors, laravel, livewire, Wordpress, painting, estudijoanpuig">
  <meta name="author" content="Joan Puig Bertran">

Updated: 2022-08-16 13:43:09

enllaços interns

 Enllaçar amb una pàgina diferent, però en una secció interna
Els enllaços locals poden, alhora, apuntar ja no a la pàgina en general sinó més precisament a una secció concreta. Aquest tipus denllaços resulten ser un híbrid dintern i local. La sintaxi és aquesta:

<a href="archivo.html#seccion">contenido</a>

<a name="seccion"></a>

Updated: 2023-08-26 11:20:07

instal.lar jetstream amb livewire

SITUAT AL DIRECTORI ON VOLS INSTAL-LAR-LO i executa en CMD aquesta ordres:

composer require laravel/jetstream


php artisan jetstream:install livewire


npm install
npm run build
php artisan migrate

Updated: 2023-05-26 09:02:36

Instal.lar una versio especifica de laravel en aquest cas la 8 amb WEBPACK-MIX.

					 
composer create-project laravel/laravel proyecto "8.*"
					

Updated: 2022-08-06 11:43:16

routes laravel

/*
|--------------------------------------------------------------------------
| les meves routes 
|--------------------------------------------------------------------------
*/

Route::get('/', function () {
    $persons = DB::table('people')->where('categoria', 'painters')
                                ->orderBy('id', 'desc')
                                ->paginate(20);
    return View::make('welcome')->with('persons', $persons);
});

Route::get('/codis', function () {   
    $objectius = App\Objectiu::all();
    return view('codis', compact('objectius'));
});

Route::get('/tools', function () {   
    $tools = App\Tool::all();
    return view('tools', compact('tools'));
});

Route::get('/laravel', function () {   
    return view('laravel');
});

Route::get('/webs', function () {   
    $webs = App\Web::all();
    return view('webs', compact('webs'));
});

/*
|--------------------------------------------------------------------------
| jetstrream Routes
|--------------------------------------------------------------------------
*/

Route::middleware([
    'auth:sanctum',
    config('jetstream.auth_session'),
    'verified'
])->group(function () {
    Route::get('/dashboard', function () {
        return view('dashboard');
    })->name('dashboard');
	
	Route::get('/dashmodels', function () {
		$persons = DB::table('people')->where('categoria', 'models')
                                ->orderBy('nom', 'desc')
                                ->paginate(20);
        return View::make('dashmodels')->with('persons', $persons);
    })->name('dashmodels');
	
	Route::get('/dashpeople', function () {
        $persons = App\Person::all();
    return view('dashpeople', compact('persons'));
    })->name('dashpeople');
});

/*
|--------------------------------------------------------------------------
| voyager Routes
|--------------------------------------------------------------------------
*/
Route::group(['prefix' => 'admin'], function () {
    Voyager::routes();
});

Updated: 2022-08-13 10:01:11

migration laravel tools

 <?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('tools', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('nom', 255);
            $table->text('descripcio');
            $table->text('body');
            $table->string('categoria', 255);
            $table->string('img', 255);
            $table->string('youtube', 255);
            $table->string('web', 255);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('tools');
    }
};

Updated: 2022-08-06 04:03:15

vistes i layouts en laravel (views)


1-<!-- Stored in resources/views/layouts/app.blade.php -->
<!-- el codi html del header nav -->
@yield('content')
<!-- el codi html del footer -->


2-<!-- Stored in resources/views/pagina.blade.php -->

@extends('layouts.Appestudi')
@section('title', 'Gal.leria de webs')
@section('content')

<!-- el codi html del contingut -->


@stop

Updated: 2022-08-06 03:55:38

Crear nomes el Controlador resource

php artisan make:controller CodesController --resource

Updated: 2023-09-14 21:19:31

vistes laravel cridar foreach

@foreach ($persons as $person)
	
	{{$person->categoria}}
	
@endforeach
	

Updated: 2022-08-06 03:54:24

creacio d'un middlewares per a protegir las routes.

php artisan make:middleware EnsureTokenIsValid
<?php
 
namespace App\Http\Middleware;
 
use Closure;
 
class EnsureTokenIsValid
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($request->input('token') !== 'my-secret-token') {
            return redirect('home');
        }
 
        return $next($request);
    }
}

Updated: 2022-08-06 05:43:07

creacio d'una consulta query

<?php
 
namespace App\Http\Controllers;
 
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
 
class UserController extends Controller
{
    /**
     * Show a list of all of the application's users.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $users = DB::select('select * from users where active = ?', [1]);
 
        return view('user.index', ['users' => $users]);
    }
}

Updated: 2023-05-22 03:07:29

Artisan Console

php artisan list

php artisan help migrate

php artisan tinker

Updated: 2022-08-06 08:04:46

crear model web

 //crear model web
php artisan make:model Web -mcr
 //editar la migracio 

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('webs', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('img', 255);
            $table->string('nom', 255);
            $table->string('tipus', 255);
            $table->string('framework', 255);
            $table->string('css', 255);
            $table->string('servidor', 255);
            $table->string('url', 255);
            $table->string('download', 255);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('webs');
    }
};

 //editar el model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Web extends Model
{
    use HasFactory;
	protected $fillable = array('img', 'nom', 'tipus', 'framework', 'css', 'servidor', 'url', 'download');
}

Updated: 2023-09-02 09:16:04

crear un model -mcr

 php artisan make:model Web -mcr



<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Web extends Model
{
    use HasFactory;
	 protected $fillable = array('nom', 'descripcio', 'categoria', 'css', 'framework', 'url', 'download', 'servidor', 'img');
}

Updated: 2022-08-27 02:27:08

filament estructura per la migracio de Code

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

/**
 * Migration auto-generated by TablePlus 4.10.1(202)
 * @author https://tableplus.com
 * @source https://github.com/TablePlus/tabledump
 */
class CreateCodesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('codes', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('nom', 255);
            $table->string('categoria', 255);
            $table->string('tags', 255);
            $table->text('descripcio')->nullable()->default(NULL);
            $table->longtext('blockcode');
            $table->string('txt', 255)->nullable()->default(NULL);
            $table->string('youtube', 255)->nullable()->default(NULL);
            $table->string('url', 255)->nullable()->default(NULL);
            $table->timestamp('updated_at')->nullable()->default(NULL);
            $table->timestamp('created_at')->nullable()->default(NULL);
        });
    }
   
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('codes');
    }
}

Updated: 2022-08-22 14:33:59

filament estructura migracio per crear la taula objectius

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

/**
 * Migration auto-generated by TablePlus 4.10.1(202)
 * @author https://tableplus.com
 * @source https://github.com/TablePlus/tabledump
 */
class CreateObjectiusTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('objectius', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('nom', 255);
            $table->text('descripcio');
            $table->string('status', 255);
            $table->string('urlsolucio', 255)->nullable()->default(NULL);
            $table->timestamp('created_at')->nullable()->default(NULL);
            $table->timestamp('updated_at')->nullable()->default(NULL);
        });
    }
   
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('objectius');
    }
}

Updated: 2022-08-22 14:33:40

filament crear un recurs per la taula objectius

php artisan make:filament-resource Objectiu --generate

Updated: 2022-08-22 14:33:11

crear acces directe de storage

php artisan storage:link

Updated: 2022-08-07 06:37:36

migracio per la taula people

 <?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('people', function (Blueprint $table) {
            $table->id();
			$table->string('nom', 255);
            $table->string('img', 255)->nullable()->default(NULL);
            $table->string('categoria', 255);
            $table->string('vestit', 255);
            $table->string('cabell', 255);
            $table->string('origen', 255);
            $table->string('web', 255)->nullable()->default(NULL);
            $table->string('folder', 255)->nullable()->default(NULL);
            $table->string('ins', 255);
            $table->string('face', 255)->nullable()->default(NULL);
            $table->string('mp3', 255)->nullable()->default(NULL);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('people');
    }
};

Updated: 2023-09-04 21:40:39

laravel storage link solucio per la fragmentacio del codi a servidor compartit

solucio: eliminar la carpeta storage de public i afegir ruta nova i executarla.
es mostrara una pagina en blanc i el acces directe estara creat.

Route::get('/linkstorage', function () {
    Artisan::call('storage:link');
});

Updated: 2022-08-11 19:22:03

consulta a la ruta

Route::get('/', function()
{
    $builds = DB::table('blogs')->where('frontpage', '1')
                                ->orderBy('id', 'desc')
                                ->paginate(20);
    return View::make('pages/home')->with('builds', $builds);
});

Updated: 2022-08-09 19:59:10

route que porta tots els registes de una taula

Route::get('/people', function () {   
    $persons = App\Person::all();
    return view('people', compact('persons'));
});

Updated: 2022-08-10 09:58:47

consultas a la route



Route::get('/people', function () {
    $persons = DB::select("SELECT * FROM `people` WHERE `categoria` IN ('photographers', 'painters', 'influencers', 'music'); ");
    return view('people', compact('persons'));
});



Route::get('/dashboard', function()
{
    $persons = DB::table('people')->where('categoria', 'models')
                                ->orderBy('id', 'desc')
                                ->paginate(20);
    return View::make('dashboard')->with('persons', $persons);
})->name('dashboard');

Updated: 2023-05-22 03:18:07

instalar laravel amb jetstream

laravel new project --jet

Updated: 2022-08-10 18:47:25

section cards uikit people

<section class="text-gray-400 bg-gray-900" style="background-image: url('liniesvoyager180.png');background-repeat: no-repeat;" >
<div class="uk-container uk-container-large">

     <div class="uk-grid uk-flex-center uk-padding-medium">
    <h1 class="uk-text-center uk-text-middle text-5xl uk-text-bold text-transparent bg-clip-text bg-gradient-to-r from-green-400 via-blue-500 to-purple-500 title-font mb-6">@yield ('title')</h1>
</div>
	
		<div class="uk-grid uk-flex-center ">
		
						<form id="search-form" action="">
							<div class="uk-inline uk-width-1-1">
								<span class="uk-form-icon uk-form-icon-flip uk-icon" data-uk-icon="icon: search"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="search"><circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"></circle><path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"></path></svg></span>
								<input class="uk-input uk-width-1-1 search-fld" type="text" placeholder="Type your search" autofocus="">
								<a hidden="" href="#" class="search-filter" data-uk-filter-control="[data-tags*='']">Search</a>
								<a hidden="" href="#" class="search-filter-all uk-active" data-uk-filter-control="">Search all</a>
								<a hidden="" href="#" class="search-filter-none" data-uk-filter-control="[data-empty='']">Filter none</a>
							</div>
						</form>
		</div>
		
		<!--CARDS WRAPPER-->
		
			
		
				<ul class="uk-subnav uk-subnav-pill">
					<li class="uk-active" data-uk-filter-control=""><a href="#">Show All</a></li>
					<li data-uk-filter-control=".painters"><a href="#">painters</a></li>
					<li data-uk-filter-control=".photographers"><a href="#">photographers</a></li>
					<li data-uk-filter-control=".influencers"><a href="#">influencers</a></li>
					<li data-uk-filter-control=".models"><a href="#">models</a></li>
					<li data-uk-filter-control=".music"><a href="#">music</a></li>
					
				</ul>
				<div class="uk-grid uk-grid-medium uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l  uk-child-width-1-4@xl uk-grid-match js-filter" data-uk-grid="masonry: true" data-uk-sortable="handle: .drag-icon">
				
				
		@foreach ($persons as $person)
					
					<!-- card -->
					<div class="{{$person->categoria}}" data-tags="{{$person->nom}} {{$person->categoria}} ">
						<div class="uk-card uk-card-small uk-card-default">
							
							<div class="uk-card-media">
								<div class="uk-inline-clip uk-transition-toggle" tabindex="0">
									<img data-fancybox="gallery" src="storage/{{$person->img}}" >
									<div class="uk-transition-slide-bottom uk-position-bottom uk-overlay uk-overlay-primary">
										<span data-uk-icon="icon:heart; ratio: 0.8"></span>seguidors:  {{$person->ranking}} 
									</div>
								</div>
								
							</div>
							<div class="uk-card-body">
								<h4 class="uk-margin-small-bottom uk-margin-remove-adjacent uk-text-bold text-transparent bg-clip-text bg-gradient-to-r from-green-400 via-blue-500 to-purple-500">{{$person->nom}}</h4>
								<p class="uk-text-small uk-text-muted">{{$person->categoria}}-{{$person->updated_at}}</p>
							</div>
							<div class="uk-card-footer">
								<div class="uk-grid uk-grid-small uk-grid-divider uk-flex uk-flex-middle" data-uk-grid>
									
									<div class="uk-width-auto uk-text-right">
										<a href="{{$person->folder}}" data-uk-tooltip="title: gallery folder" class="uk-icon-link" data-uk-icon="icon:folder; ratio: 1.2"target="_blank"></a>
										<a href="{{$person->ins}}" data-uk-tooltip="title: Instagram" class="uk-icon-link" data-uk-icon="icon:instagram; ratio: 1.2"target="_blank"></a>
										<a href="{{$person->youtube}}" data-uk-tooltip="title: canal youtube" class="uk-icon-link" data-uk-icon="icon:youtube; ratio: 1.2"target="_blank"></a>
										<a href="{{$person->face}}" data-uk-tooltip="title: facebook" class="uk-icon-link" data-uk-icon="icon:facebook; ratio: 1.2"target="_blank"></a>
										<a href="{{$person->tiktok}}" data-uk-tooltip="title: tiktok" class="uk-icon-link" data-uk-icon="icon:tiktok; ratio: 1.2"target="_blank"></a>
										<a data-fancybox href="{{$person->video}}" data-uk-tooltip="title: veure video" class="uk-icon-link" data-uk-icon="icon:play-circle; ratio: 1.2"target="_blank"></a>
										<a href="{{$person->mp3}}" data-uk-tooltip="title: escoltar musica" class="uk-icon-link" data-uk-icon="icon:soundcloud; ratio: 1.2"target="_blank"></a>
									</div>
									<div class="uk-width-auto uk-text-right">
										<a data-uk-tooltip="title: Drag this card" href="#" class="uk-icon-link drag-icon" data-uk-icon="icon:move; ratio: 1.2"></a>
									</div>
								</div>
							</div>
						</div>
					</div>
					<!-- /card -->
				@endforeach
					
				</div>
			
			</div>
			
		</section>

Updated: 2022-08-11 10:35:42

instal.lar laravel ultima versio + jetstream + voyager

laravel new estudijoanpuig --jet

npm install
npm run build
npm run dev

php artisan migrate

composer require tcg/voyager
php artisan voyager:install --with-dummy
php artisan voyager:admin joanpuigbertran@gmail.com --create

Updated: 2023-09-13 09:14:56

Com crear un component?

php artisan make:livewire ShowPosts

Updated: 2023-04-24 13:43:17

crear un recurs per al model Person

//crear un recurs per al App\Models\Person.php://

php artisan make:filament-resource Person

//aixo creara varis fitxers i directori//

+-- PersonResource.php
+-- PersonResource
|   +-- Pages
|   |   +-- CreatePerson.php
|   |   +-- EditPerson.php
|   |   +-- ListPerson.php

Updated: 2022-08-22 21:40:10

panel filament llistar i editar la taula People: php artisan make:filament-resource Person --generate

php artisan make:model Person -mcr

//editar app\Models\Person.php//
class Person extends Model
{
    use HasFactory;
	 protected $fillable = array('nom', 'img', 'categoria', 'folder', 'web', 'ins', 'face', 'vestit', 'cabell', 'origen');
}

//editar database\migrations\create-people_table.php//
class Person extends Model
{
    use HasFactory;
	 protected $fillable = array('nom', 'img', 'categoria', 'folder', 'web', 'ins', 'face', 'vestit', 'cabell', 'origen');
}

composer require doctrine/dbal
php artisan make:filament-resource Person --generate

//editar app\Filament\PersonResource.php//

<?php

namespace App\Filament\Resources;

use App\Filament\Resources\PersonResource\Pages;
use App\Filament\Resources\PersonResource\RelationManagers;
use App\Models\Person;
use Filament\Forms;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Table;
use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\FileUpload;
use Filament\Tables\Columns\ImageColumn;
use Filament\Forms\Components\Select;

class PersonResource extends Resource
{
    protected static ?string $model = Person::class;

    protected static ?string $navigationIcon = 'heroicon-o-collection';

    public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make('nom')
                    ->required()
                    ->maxLength(255),
                Forms\Components\FileUpload::make('img'),
                   
                Forms\Components\Select::make('categoria')
                    ->options([
        'photographers' => 'photographers',
        'painters' => 'painters',
        'influencers' => 'influencers',
		'music' => 'music',
        'models' => 'models',
        'esports' => 'espòrts',
    ]),
                Forms\Components\Select::make('vestit')
                    ->options([
        'vestit' => 'vestit',
        'nu' => 'nu',
        'linguerie' => 'linguerie',		
    ]),
                Forms\Components\Select::make('cabell')
                    ->options([
        'rossa' => 'rossa',
        'morena' => 'morena',
        'pelroja' => 'pelroja',		
    ]),
                Forms\Components\Select::make('origen')
                    ->options([
        'caucasica' => 'caucasica',
        'negra' => 'negra',
        'asiatica' => 'asiatica',
		'catalan' => 'catalan',
        'spanish' => 'spanish',
        'asia' => 'asia',
		'africa' => 'africa',
		'north_america' => 'north_america',
        'south_america' => 'south_america',
        'antarctica' => 'antarctica',
		'europe' => 'europe',
        'australia' => 'australia',
    ]),
                Forms\Components\TextInput::make('folder')
                    ->maxLength(255),
                Forms\Components\TextInput::make('ins')
                    ->maxLength(255),
                Forms\Components\TextInput::make('face')
                    ->maxLength(255),
                Forms\Components\TextInput::make('mp3')
                    ->maxLength(255),
                Forms\Components\TextInput::make('web')
                    ->maxLength(255),
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                Tables\Columns\TextColumn::make('nom'),
                Tables\Columns\ImageColumn::make('img'),
                Tables\Columns\TextColumn::make('categoria'),
                Tables\Columns\TextColumn::make('vestit'),
                Tables\Columns\TextColumn::make('cabell'),
                Tables\Columns\TextColumn::make('origen'),
                Tables\Columns\TextColumn::make('folder'),
                Tables\Columns\TextColumn::make('ins'),
                Tables\Columns\TextColumn::make('face'),
                Tables\Columns\TextColumn::make('mp3'),
                Tables\Columns\TextColumn::make('created_at')
                    ->dateTime(),
                Tables\Columns\TextColumn::make('updated_at')
                    ->dateTime(),
                Tables\Columns\TextColumn::make('web'),
            ])
            ->filters([
                //
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\DeleteBulkAction::make(),
            ]);
    }
    
    public static function getRelations(): array
    {
        return [
            //
        ];
    }
    
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListPeople::route('/'),
            'create' => Pages\CreatePerson::route('/create'),
            'edit' => Pages\EditPerson::route('/{record}/edit'),
        ];
    }    
}

Updated: 2022-08-22 21:37:36

Instal.lacio de Laravel versio 9 porta VITE.

composer create-project laravel/laravel:^9.0 example-app

Updated: 2023-05-25 16:16:06

laravel configurar el fitxer .env

APP_NAME=example-app
APP_ENV=local
APP_KEY=base64:aO1T7D9Qx+pQ5kjDIXrPcHIflOX2WImlT1U0kqROtCQ=
APP_DEBUG=true
APP_URL=http://example-app.test/

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=example-app
DB_USERNAME=root
DB_PASSWORD=

Updated: 2023-05-26 09:15:13

consulta dues taules inner join al controlador

 
 1/** app\Http\Controllers\BlogPostsController.php (consulta dues taules unirles per categoria) */

    public function index()
    {
       $blog_posts = blog_posts::select(
                            "blog_posts.title",
							"blog_posts.banner",
							"blog_posts.excerpt",
							"blog_posts.published_at",
                            "blog_categories.name as name"
                        )
                        ->join("blog_categories", "blog_categories.id", "=", "blog_posts.blog_category_id")
                        ->get();
					return view('gallery_posts', compact('blog_posts'));
    }


    
    
 2/** routes/web.php */   
 
 Route::get('/gallery_posts','App\Http\Controllers\BlogPostsController@index');


 
 3/**resources\views\gallery_posts.blade.php */
 
 @foreach ($blog_posts as $blog_post)					
 @endforeach

Updated: 2023-05-22 03:20:51

Create fake Data using Tinker

 php artisan tinker


App\Models\User::factory(50)->create();

Updated: 2022-11-26 11:49:50

A instal.lar livewire

en el cas que ja tinguem nomes laravel:

composer require livewire/livewire


<html>
 <head>
   @livewireStyles
 </head>
 <body>
   @livewireScripts
 </body>
</html>

Updated: 2023-04-24 14:26:47

crear la taula CODES a la BBDD amb la migracio i model per administrarla

php artisan make:model Code -mcr

editar el fitxer que ha creat l'instruccio anterior que es trova a: 

 C:\xampp\htdocs\example-app\database\migrations\2023_05_26_145534_create_codes_table.php

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

/**
 * Migration auto-generated by TablePlus 5.3.8(232)
 * @author https://tableplus.com
 * @source https://github.com/TablePlus/tabledump
 */
class CreateCodesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('codes', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('nom', 255);
            $table->string('categoria', 255);
            $table->string('tags', 255);
            $table->mediumtext('descripcio')->nullable()->default(NULL);
            $table->longtext('blockcode')->nullable()->default(NULL);
            $table->string('txt', 255)->nullable()->default(NULL);
            $table->string('youtube', 255)->nullable()->default(NULL);
            $table->string('url', 255)->nullable()->default(NULL);
            $table->timestamp('updated_at')->nullable()->default(NULL);
            $table->timestamp('created_at')->nullable()->default(NULL);
        });
    }
   
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('codes');
    }
}

editar el fitxer que ha creat la instruccio anterior a:

C:\xampp\htdocs\example-app\app\Models\Code.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Code extends Model
{
    use HasFactory;
	protected $fillable = array('nom', 'categoria', 'tags', 'descripcio', 'blockcode', 'txt', 'youtube', 'url');
}


php artisan migrate

Updated: 2023-05-26 13:26:49

model laravel Tool

 <?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Tool extends Model
{
    use HasFactory;
	protected $fillable = array('nom', 'descripcio', 'body', 'categoria', 'img', 'youtube', 'web');
}

Updated: 2023-09-01 21:19:51

llistar registres desde controller

 //a routes\web.php
//cridar el controlador amb use
//afegir la route

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\WebController;


Route::get('webs', [WebController::class, 'index']);
 afegir la funcio index a app\Http\Controllers\WebController.php

public function index()
    {
        $webs = Web::all();    
		return view('webs.index', compact('webs'));
    }
 //crear directori webs i afegir index.blade.php
//fer foreach a l'element que vull repetir

@foreach ($webs as $web)
					
					<!-- card -->
					<div class="{{$web->framework}}" data-categoria="{{$web->categoria}}" data-css="{{$web->css}}" data-framework="{{$web->framework}}" data-servidor="{{$web->servidor}}" data-nom="{{$web->nom}}" data-descripcio="{{$web->descripcio}}" data-tags="{{$web->categoria}} {{$web->css}} {{$web->framework}} {{$web->servidor}} {{$web->nom}} {{$web->descripcio}}">
						<div class="uk-card uk-card-small uk-card-default">
							<div class="uk-card-header">
								<div class="uk-grid uk-grid-small uk-text-small" data-uk-grid>
									<div class="uk-width-expand">
										<span class="cat-txt">{{$web->categoria}}</span>
									</div>
									<div class="uk-width-auto uk-text-right uk-text-muted">
										{{$web->css}}
									</div>
								</div>
							</div>
							<div class="uk-card-media">
								<div class="uk-inline-clip uk-transition-toggle" tabindex="0">
									<a data-fancybox="gallery" data-src="storage/{{$web->img}}"><img src="storage/{{$web->img}}"/></a>
									<div class="uk-transition-slide-bottom uk-position-bottom uk-overlay uk-overlay-primary">
										{{$web->categoria}} - {{$web->tags}} - {{$web->css}} - {{$web->framework}}
									</div>
								</div>
								
							</div>
							<div class="uk-card-body">
								<h6 ><a class="uk-margin-small-bottom uk-margin-remove-adjacent uk-text-bold" href="{{$web->url}}">{{$web->nom}}</a></h6>
								<p class="uk-text-small uk-text-muted">{{$web->idescripcio}}</p>
							</div>
							<div class="uk-card-footer">
								<div class="uk-grid uk-grid-small uk-grid-divider uk-flex uk-flex-middle" data-uk-grid>
									<div class="uk-width-expand uk-text-small">
										{{$web->updated_at}}
									</div>
									<div class="uk-width-auto uk-text-right">
										<div class="uk-inline ">
				
					<a href="{{$web->url}}" target="_blank"><span uk-icon="link" class="uk-icon"></span></a>
					
					<a href="{{$web->download}}" target="_blank"><span uk-icon="download" class="uk-icon"></span></a>
					
					<a data-fancybox="video-gallery" href="{{$web->youtube}}"><span uk-icon="youtube" class="uk-icon"></span></a>
					
					<a data-fancybox="" data-type="iframe" data-src="embed/{{$web->codi}}" href="javascript:;"><span uk-icon="code" class="uk-icon"></span></a>
				
				
              </div>
									</div>
									<div class="uk-width-auto uk-text-right">
										<a data-uk-tooltip="title: Drag this card" href="#" class="uk-icon-link drag-icon" data-uk-icon="icon:move; ratio: 1"></a>
									</div>
								</div>
							</div>
						</div>
					</div>
					<!-- /card -->
				@endforeach	

Updated: 2023-09-02 22:36:00

watercolor resource

 //crear model controlador i migracio de Watercolor

php artisan make:model Watercolor -mcr

//editar model
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Watercolor extends Model
{
    use HasFactory;
	protected $fillable = array('img', 'nom', 'dimensions', 'any', 'theme', 'autor', 'url');
}

//editar controlador
<?php

namespace App\Http\Controllers;

use App\Models\Watercolor;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class WatercolorController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $watercolor = Watercolor::all()->sortByDesc("updated_at");    
		return view('watercolor.index', compact('watercolor'));
    }
    
//editar migracio

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('watercolors', function (Blueprint $table) {
            $table->integer('id')->unsigned()->autoIncrement();
            $table->string('img', 255);
            $table->string('nom', 255);
            $table->string('dimensions', 255)->nullable()->default(NULL);
            $table->string('any', 255)->nullable()->default(NULL);
            $table->string('theme', 255);
            $table->string('autor', 255)->nullable()->default(NULL);
            $table->string('url', 255)->nullable()->default(NULL);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('watercolors');
    }
};

//executar la migracio
php artisan migrate

Updated: 2023-09-04 19:12:07

CodeController.php

La millor forma de crear un controlador resources es fer-ho desde el principi. Amb una sola ordre per el model la migracio que creara la taula i el controlador.

php artisan make:model Code -mcr

<?php

namespace App\Http\Controllers;

use App\Models\Code;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class CodeController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $codes = Code::all();    
		return view('codes.index', compact('codes'));
    }
	
	public function install()
    {
        $codes = DB::table('codes')                
				->where('tipus', '=', 'l9f2' )
                ->get(); 
		return view('codes.install', compact('codes'));
    }
	
	public function laravel()
    {
        $codes = DB::table('codes')                
				->where('framework', '=', 'laravel' )
				
                ->get(); 
		return view('codes.laravel', compact('codes'));
    }
	
	public function filament()
    {
        $codes = DB::table('codes')                
				->where('framework', '=', 'filament' )
                ->get(); 
		return view('codes.filament', compact('codes'));
    }
	
	public function model_laravel()
    {
        $codes = DB::table('codes')                
				->where([
				['framework', '=', 'laravel'],
				['tipus', '=', 'model']
				])
                ->get(); 
		return view('codes.model', compact('codes'));
    }
	
	public function controller_laravel()
    {
        $codes = DB::table('codes')                
				->where([
				['framework', '=', 'laravel'],
				['tipus', '=', 'controllers']
				])
                ->get()->sortByDesc("updated_at"); 
		return view('codes.controller', compact('codes'));
    }
	
	

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\Models\Code  $code
     * @return \Illuminate\Http\Response
     */
    public function show(Code $code)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Models\Code  $code
     * @return \Illuminate\Http\Response
     */
    public function edit(Code $code)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\Code  $code
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Code $code)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Models\Code  $code
     * @return \Illuminate\Http\Response
     */
    public function destroy(Code $code)
    {
        //
    }
}

Updated: 2023-09-14 21:17:12

fancybox imatge en gallery

<!-- FANCYBOX 4 CSS AL HEAD -->
<link rel="stylesheet"href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.css"/>

<!-- FANCYBOX 4 JS AL FINAL BODY -->
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js"></script>	

<!-- Imatge en gallery al body -->
<a data-fancybox="gallery" data-src="storage/{{$person->img}}"><img src="storage/{{$person->img}}" /></a>

Updated: 2022-08-10 10:27:27

fancybox iframe o video de imatge o texte

 //iframe per l'embed//
<a href="iframe.html" data-fancybox data-type="iframe">nom</a>

//video amb una imatge o texte si la suprimeixo//
<a data-fancybox="video-gallery" href="/img/video.mp4" data-width="640" data-height="360">
  <img src="/img/video.jpeg" width="200" height="150" />
</a>

Updated: 2022-08-27 06:55:09

instal.lar homebrew

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Updated: 2023-08-20 19:47:32

consulta sql join

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "backpack_tw";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "select `people`.`id`, `people`.`nom`, `people`.`img`, `people`.`updated_at`, `people`.`web`,`people`.`ins`, `people`.`face`,`people`.`mp3`, 
`categories`.`category_nom` as `ggg` from `people` inner join `categories` on `categories`.`id` = `people`.`category_id`";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) { 
?> 
//element a repetir
storage/<?php echo "$row[img]";?>

<?php }
} else {
echo "0 results";
}
$conn->close();
?> 	

Updated: 2022-12-18 22:54:37

MYSQL buidar i copiar columnes de una taula

 //MYSQL: Buidar les dades de una columna
UPDATE tabla SET cantidad = null;


//MYSQL:copiar les dades de una columna a un altre
UPDATE `la_tabla` SET `columna_destino`=`columna_origen`

Updated: 2022-12-24 00:52:04

sql where

 "SELECT * FROM `pages_mac` WHERE tipus='gallery' order by nom asc"

Updated: 2023-08-23 11:14:19

array php


					<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "estudi";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM `codes` order by categoria asc";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) { 
?> 

<!-- element que vull repetir -->
<?php echo "$row[nom]";?>

<?php }
} else {
echo "0 results";
}
$conn->close();
?> 		

Updated: 2022-08-26 19:24:58

php includes

<?php include 'header_nav.php';?>


<?php include 'footer.php';?>	

Updated: 2023-05-21 01:30:33

mostrar errors de php

 <?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

Updated: 2023-08-23 08:11:05

php model per la gal.leria people

detall

 ================
//config.php
================

<?php
define('DBUSER','user');
define('DBPWD','pasword');
define('DBHOST','localhost');
define('DBNAME','nomdb');
?>

=============
// people.php
=============
<?php require_once 'header_nav.php';?>

<?php
require_once 'model_people.php'; 
$people = getpeople();
require 'list_people.php';
?>

<?php require_once 'footer.php';?>

============
// model.php
============

<?php
 require_once 'config.php';
 
function openConex(){
	$conex=new mysqli(DBHOST, DBUSER, DBPWD, DBNAME);	
    return $conex;
}    
 
function getPeople(){	
	$mysqli = openConex();	
	$result = $mysqli->query('SELECT * FROM people ORDER BY id desc');	
	return $result;	
}

function getPersonById($id)
{
	$mysqli = openConex(); 
	$result = $mysqli->query('SELECT * FROM people WHERE id ='.$id);
	$row = mysqli_fetch_assoc($result);	
    return $row;
}

?>

=================
//list_people.php
=================

<?php foreach ($people as $person) : ?>
                    <!-- element que vull repetir -->					
					<!-- card -->
					<div class="<?php echo "$person[categoria]";?>" data-tags="<?php echo "$person[nom]";?> <?php echo "$person[categoria]";?> ">
						<div class="uk-card uk-card-small uk-card-default">
							
							<div class="uk-card-media">
								<div class="uk-inline-clip uk-transition-toggle" tabindex="0">
									<img data-fancybox="gallery" src="img/<?php echo "$person[img]";?>" >
									<div class="uk-transition-slide-bottom uk-position-bottom uk-overlay uk-overlay-primary">
										
									</div>
								</div>
								
							</div>
							<div class="uk-card-body">
								<a href="show_people.php?id=<?php echo $person['id'] ?>"><h4 class="uk-margin-small-bottom uk-margin-remove-adjacent uk-text-bold text-transparent bg-clip-text bg-gradient-to-r from-green-400 via-blue-500 to-purple-500"><?php echo "$person[nom]";?></h4></a>
								<p class="uk-text-small uk-text-muted"><?php echo "$person[categoria]";?>-actualitzat: <?php echo "$person[updated_at]";?></p>
							</div>
							<div class="uk-card-footer">
								<div class="uk-grid uk-grid-small uk-grid-divider uk-flex uk-flex-middle" data-uk-grid>
									
									<div class="uk-width-auto uk-text-right">
									
										<a href="<?php echo "$person[web]";?>" data-uk-tooltip="title: web oficial" class="uk-icon-world uk-icon" data-uk-icon="icon:world; ratio: 1.2" target="_blank" ></a>										
										<a href="show_people.php?id=<?php echo $person['id'] ?>" data-uk-tooltip="title: gallery folder" class="uk-icon-link" data-uk-icon="icon:search; ratio: 1.2"></a>										
										<a href="<?php echo "$person[ins]";?>" data-uk-tooltip="title: Instagram" class="uk-icon-link" data-uk-icon="icon:instagram; ratio: 1.2"target="_blank"></a>										
										<a href="<?php echo "$person[face]";?>" data-uk-tooltip="title: facebook" class="uk-icon-link" data-uk-icon="icon:facebook; ratio: 1.2"target="_blank"></a>
										
									</div>
									<div class="uk-width-auto uk-text-right">
										<a data-uk-tooltip="title: Drag this card" href="#" class="uk-icon-link drag-icon" data-uk-icon="icon:move; ratio: 1.2"></a>
									</div>
								</div>
							</div>
						</div>
					</div>
					<!-- /card -->
                    <?php endforeach; ?>
                    
=================
//show_people.php
=================

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

<?php include 'header_nav.php';?>

<?php require_once 'model_people.php'; ?>
<?php $person = getPersonById($_GET['id']); ?>

Updated: 2023-09-30 16:35:04

definir i executar una variable de funcio

 //a la capçalera de header_nav.php

<?php $var = 'localhost xampp navas';?>

//posar a tots els llocs que vulgui repetir aquest texte: title navbar footer etc.

<?php echo "$var";?>

Updated: 2023-09-30 19:11:55

configurar xampp i host virtual

 
 
//1 copiar aquest codi a:
//C:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80> 
   DocumentRoot "C:/xampp/htdocs/"
   ServerName localhost  
</VirtualHost>

<VirtualHost *:80> 
   DocumentRoot "C:/xampp/htdocs/larpleline/public/"
   ServerName larpleline.test  
</VirtualHost>

===============================================

//2 copiar aquest codi a:
//C:\Windows\System32\drivers\etc\hosts

127.0.0.1       localhost
::1             localhost


127.0.0.1       larpreline.test


 CONFIGURAR EXTENSION PHP PER A LARAVEL ====================================== descomentar a la linia 920 del fitxer C:\xampp\php\php.ini extension=gd

Updated: 2023-11-01 15:44:28

Pujar laravel a servidor compartit

1.-Pujar tota la carpeta de local al directori del domini. 

2.-Agafal el directori public i posarlo a public_html.

3.-a public_html posar-hi el fitxer .htaccess. 

//3.-a public_html posar-hi el fitxer .htaccess. s//
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ public/$1 [L]

4.-Afegir al final de  bootstrap/app el següent Codi ...

//4.-Codi de bootstrap/app//

//public_path
$app->bind('path.public',function(){
   return realpath('./../public/'); 
});

5.-Modificar la ruta a index.php. 

 if (file_exists($maintenance = __DIR__.'/../../estudi/storage/framework/maintenance.php')) {
    require $maintenance;
}
require __DIR__.'/../../estudi/vendor/autoload.php';
$app = require_once __DIR__.'/../../estudi/bootstrap/app.php';

6.-conffigurar el fitxer .env

APP_NAME=laravelfilament
APP_ENV=local
APP_KEY=base64:9Y1xFg++FBqVQzpNSm1QW1Zxr60W7cm0Jw76pejOqcU=
APP_DEBUG=true
APP_URL=https://laravelfilament.com/

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nom bbdd
DB_USERNAME=usuari
DB_PASSWORD=paraula de pas

7.-crear link storage

Updated: 2023-06-11 19:02:07

crear servidor virtual .test

127.0.0.1       example-app.test


<VirtualHost *:80> 
   DocumentRoot "C:/xampp/htdocs/example-app/public/"
   ServerName example-app.test 
</VirtualHost>


Updated: 2023-05-26 09:26:57

buidar de dades la columna de una taula

 UPDATE codes SET category_id = null;

Updated: 2022-12-17 10:07:08

instal.lar xampp en ubuntu desktop 22.04

instal.lar xampp en ubuntu

 chmod 755 xampp-linux-*-installer.run
sudo ./xampp-linux-*-installer.run

Updated: 2023-11-28 09:29:55

Instal·lar Ubuntu Server en un ordinador HP

d

Instal·lar Ubuntu Server en un ordinador HP és un procés relativament senzill. Aquí tens una guia pas a pas:

Requisits previs:

  1. Una unitat USB amb almenys 2 GB despai.
  2. La imatge ISO d'Ubuntu Server. Pots descarregar-la des del lloc web oficial d'Ubuntu: Descarregar Ubuntu Server .

Passos per instal·lar Ubuntu Server:

  1. Crear un USB d'arrencada:
    • Descarrega l'eina de creació d'USB d'arrencada, com ara Rufus (per a Windows) o Etcher (per a Windows, macOS i Linux).
    • Connecteu la unitat USB i utilitzeu l'eina per crear un USB d'arrencada utilitzant la imatge ISO d'Ubuntu Server descarregada.
  2. Arrancar des de l'USB:
    • Connecteu l'USB a l'ordinador HP.
    • Reinicieu l'ordinador i accediu al menú d'arrencada. Això generalment es fa prement una tecla específica durant l'arrencada, com F2, F10, F12, Esc o Del. La tecla exacta pot variar segons el model d'HP.
    • Seleccioneu la unitat USB com a dispositiu d'arrencada.
  3. Iniciar l'instal·lador d'Ubuntu Server:
    • Quan el sistema operatiu d'instal·lació d'Ubuntu Server es carregui des de l'USB, seleccioneu "Install Ubuntu Server" al menú d'inici.
  4. Configurar l'idioma i la ubicació:
    • Seleccioneu el vostre idioma preferit i la ubicació.
  5. Configurar la xarxa:
    • Configura la xarxa, proporcionant la informació necessària, com ara l'adreça IP, la màscara de xarxa i la porta d'enllaç. Podeu triar configurar la xarxa automàticament (DHCP) o manualment.
  6. Configurar l'emmagatzematge:
    • Seleccioneu el disc on voleu instal·lar Ubuntu Server. Podeu optar per utilitzar el disc complet o configurar particions manualment.
  7. Configurar l'usuari i la contrasenya:
    • Proporciona un nom d'usuari i una contrasenya per al compte d'administrador (superusuari o "root").
  8. Instal·lació del sistema base:
    • Ubuntu Server començarà a instal·lar el sistema base al vostre disc seleccionat.
  9. Instal·lar programari addicional:
    • Durant la instal·lació, podreu seleccionar el programari addicional que voleu instal·lar, com ara un servidor SSH o un servidor web.
  10. Finalitzar la instal·lació:
    • Un cop completada la instal·lació, se us demanarà que retireu el mitjà d'instal·lació (l'USB) i reinicieu el sistema.

Després de reiniciar, hauríeu de tenir Ubuntu Server instal·lat al vostre ordinador HP. Assegureu-vos de realitzar les configuracions addicionals segons les vostres necessitats, com ara la instal·lació de paquets addicionals, la configuració de serveis i l'aplicació d'actualitzacions del sistema.

Updated: 2023-11-28 23:23:48

iniciar ubuntu

operacions per mantenir actualitzat el sistema.

 sudo apt update
sudo apt upgrade

Aquesta ordre ens mostrarà tots els nous paquets que hi ha disponibles per a la nostra distro (tant per a Ubuntu com per als programes instal·lats) i s'encarregarà de baixar i instal·lar tots ells.

Quan acabi el procés (encara que no sigui obligatori) només haurem de reiniciar l'ordinador perquè tot el procés d'actualització es completi i puguem començar a fer servir tots els nous paquets.

 sudo reboot

Updated: 2023-11-06 16:47:43

sudo service apache2 start

per arrancar el servidor apache m'ha demanat si era root..

sudo su

i paraula de pas

sudo service apache2 start


sytemctl start apache2

systemctl enable apache2
systemctl status apache2

Updated: 2023-11-21 12:14:02

chmod -R 777 /ruta/carpeta

concedir acces total a una carpeta i al seu contingut.

 chmod -R 777 /ruta/carpeta

Aquesta ordre estableix permisos de lectura, escriptura i execució a la carpeta i tot el que conté.

Updated:

Instal·lar Apache a Ubuntu 22.04

El servidor web Apache és un component principal de la pila LAMP. De manera predeterminada, el paquet del servidor web Apache s'inclou al repositori predeterminat d'Ubuntu 22.04. Podeu instal·lar-lo fàcilment només executant l'ordre següent: 

També podeu provar la instal·lació d'Apache mitjançant el navegador web mitjançant l'URL que tingui el servidor. Podem averiguar-la amb el comandament..

ifconfig

en la consulta de prodeskserver.....

http://192.168.1.130 

en la consulta de las maquina virtual a Navas.

http://192.168.1.141

ens sortira la pagina index.html que hi ha a /var/www/html/

INSTAL.LAR APACHE2

apt-get install apache2 -y

engegar i que arrenqui amb el servidor

systemctl start apache2
systemctl enable apache2

veure si esta engegat

systemctl status apache2

veure la versio

apache2ctl -version

Updated: 2023-11-28 09:37:23

Instal·lar PHP a Ubuntu 22.04

PHP és un llenguatge de processament utilitzat per servir les pàgines PHP. Per defecte, Ubuntu 22.04 proporciona la darrera versió de PHP 8.1. Podeu instal·lar-lo amb altres extensions a la sortida següent:

apt-get install php8.1 libapache2-mod-php8.1 php8.1-mysql php8.1-gd php8.1-curl php8.1-xml -y


php --version

Updated: 2023-11-21 14:25:07

instal.lar mysql MariaDB

d

Guía de instalación de la base de datos MariaDB

sudo apt update
sudo apt install mariadb-server
sudo systemctl status mariadb


CONFIGURACIÓN

sudo mysql_secure_installation

al dialeg en el primer enter i els altres tots n

CREAR USUARIO Y CONTRASEÑA:

sudo mariadb


GRANT ALL ON *.*  TO 'admin'@'localhost' IDENTIFIED BY '199811' WITH GRANT OPTION;

donar privilegis

FLUSH PRIVILEGES;

exit

INSTALACIÓN DE PHPMYADMIN

sudo apt update

insta-lar phpmyadmin

sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

en el dialeg 1 seleccionar apache i en 2 yes i posar contrasenya

sudo systemctl restart apache2

anar al navegador i posar l'adreça ip/phpmyadmin a veure si funciona.

Updated: 2023-11-26 12:04:45

instal.lar laravel a ubuntu server 22.04

Navegar a http://192.168.1.130/

INSTAL.LAR COMPOSER:

sudo curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer


sudo apt install composer

verifiquem l'instal.lacio

composer

INSTAL.LAR LARAVEL:

anem al directoti

cd /var/www/html/

creem el projecte laravel

sudo composer create-project laravel/laravel "prodeskserver"

anem al directori del projecte

cd /var/www/html/prodeskserver

 i confugurem els permisos necesaris...

sudo chown -R www-data:www-data .


sudo chmod -R 775 storage/

crear l'arxiu de host virtural d'apache a...

cd /etc/apache2/sites-available/


nano prodeskserver.conf

i posar-hi aquest codi:

<VirtualHost *:80>
ServerName @localhost
DocumentRoot /var/www/html/prodeskserver/public

<Directory /var/www/html/prodeskserver>
AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

habilitar la configuracio d'apapche per a Laravel

sudo a2ensite prodeskserver.conf

verificar la sintaxi

sudo apachectl -t

i reiniciar apache

sudo systemctl reload apache2



Updated: 2023-11-30 17:46:47

sudo apt update

b

Aquesta ordre ens indicarà el nombre de paquets que es poden actualitzar en cas que hi hagi paquets actualitzables, i si n'hi hagués, ens avisa de l'existència de l' ordre...

apt-get list --upgradable 

que ens permet llistar els paquets actualitzables abans d'instal·lar-los.

La solució més cauta és la instal·lació manual dels paquets retinguts . Per fer-ho, executarem la següent ordre :

sudo  apt-get install  < llista de paquets retinguts >


Updated: 2023-11-28 16:14:00

averiguar ip del servidor: ifconfig

obtindrem ladreça del servidor en negrita

enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.130 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::1a60:24ff:fe7c:3bc7 prefixlen 64 scopeid 0x20<link> ether 18:60:24:7c:3b:c7 txqueuelen 1000 (Ethernet) RX packets 387381 bytes 525624260 (525.6 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 183044 bytes 14508158 (14.5 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 312 bytes 31824 (31.8 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 312 bytes 31824 (31.8 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


averiguar ip del servidor: 

ifconfig

Updated: 2023-11-28 16:22:01

clonar un repositori de Laravel des de GitHub a un servidor Ubuntu 22.04

d


  1. Accedeix al servidor:
    • Utilitzeu el vostre client SSH favorit per connectar-vos al servidor. Podeu utilitzar el següent comandament a la terminal de la vostra màquina local:
    • ssh usuario@direccion_ip_del_servidor 
    • Reemplaça "usuari" amb el teu nom d'usuari i "direccion_ip_del_servidor" amb l'adreça IP del teu servidor.
  2. Instal·la Git:
    • Si encara no teniu Git instal·lat al vostre servidor, podeu fer-ho executant el següent comandament:
    • sudo apt update sudo apt install git
  3. Accedeix al directori on vols clonar el repositori:
    • Utilitzeu l'ordre cdper navegar al directori desitjat. Per exemple:
    • cd /ruta/del/directorio 
  4. Clona el dipòsit de GitHub:
    • Utilitzeu l'ordre git cloneper clonar el dipòsit de Laravel. Necessites l'URL del dipòsit de GitHub per fer-ho.
    • git clone https://github.com/nombre_usuario/nombre_repositorio.git 
      • Reemplaza "nombre_usuario" amb el nom d'usuari de GitHub i "nombre_repositorio" amb el nom del teu repositori.
  5. Instal·la les dependències de Composer:
    • Una vegada que el dipòsit s'hagi clonat, accediu al directori del projecte Laravel i executeu l'ordre següent per instal·lar les dependències de Composer:
    • cd nombre_repositorio composer install
  6. Configura l'arxiu .env:
    • Copia l'arxiu .env.examplei cámbiale el nom a .env. A continuació, editeu aquest fitxer per configurar les variables de l'entorn, com la connexió a la base de dades i altres configuracions específiques de la vostra aplicació.
    • cp .env.example .env nano .env # o utiliza el editor de texto que prefieras
  7. Genera la clau d'aplicació:
    • Laravel utilitza una clau d'aplicació per a la seguretat. Executa el següent comanda per generar aquesta clau:
    • php artisan key:generate 
  8. Configura els permisos d'emmagatzematge:
    • Assegureu-vos que el servidor web tingui els permisos adequats per accedir a les carpetes d'emmagatzematge. Podeu utilitzar els següents comandaments:
    • sudo chown -R www-data:www-data storage sudo chown -R www-data:www-data bootstrap/cache 
  9. Configura la configuració d'Apache o Nginx:
    • Configura el teu servidor web (Apache o Nginx) per apuntar al directori publicdel teu projecte Laravel. Assegureu-vos que la configuració de l'host virtual estigui correctament establert.
  10. Reinicia el servidor web:
    • Reinicia el servidor web per aplicar els canvis a la configuració.
      • Para Apache:
      • sudo systemctl restart apache2 

Amb aquests passos, hauríeu d'haver clonat el vostre repositori de Laravel en un servidor Ubuntu 22.04 i configurada l'aplicació per a la seva execució. Asegúrate de revisar la documentació de Laravel per obtenir més detalls sobre la configuració específica de la teva aplicació.

Updated: 2023-11-29 11:16:46

instal.lar node en ubuntu server 22.04

d

sudo apt-get install nodejs


sudo apt install npm

veure versio

nodejs -v

npm -v

desinstal.lar

sudo apt remove nodejs


sudo apt remove npm

Updated: 2023-11-30 16:52:20

instal.lar wordpress en ubuntu server 22.04

d

La instalación de WordPress en un servidor Ubuntu 22.04 implica varios pasos. A continuación, te proporciono una guía básica para realizar esta instalación. Ten en cuenta que estos pasos asumen que ya tienes un servidor web y una base de datos MySQL configurados.

  1. Actualizar el sistema:
  2. Asegúrate de que tu sistema esté actualizado antes de comenzar:Copy code
  3. sudo apt update sudo apt upgrade 
  4. Instalar Apache:
  5. sudo apt install apache2 
  6. Instalar MySQL:
  7. sudo apt install mysql-server 
  8. Durante la instalación, se te pedirá que configures una contraseña para el usuario root de MySQL.
  9. Instalar PHP y módulos necesarios:
  10. sudo apt install php libapache2-mod-php php-mysql 
  11. Descargar WordPress:
  12. wget https://wordpress.org/latest.tar.gz 
  13. Descomprime el archivo:
  14. tar -xzvf latest.tar.gz 
  15. Mover WordPress a la carpeta de Apache:
  16. sudo mv wordpress /var/www/html/ 
  17. Configurar la base de datos MySQL para WordPress:
  18. Inicia sesión en MySQL:
  19. sudo mysql -u root -p 
  20. Crea una nueva base de datos:
  21. CREATE DATABASE wordpress; 
  22. Crea un nuevo usuario y asigna privilegios:
  23. CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'tu_contraseña'; GRANT ALL PRIVILEGES ON wordpress.* TO 'nombre_usuario'@'localhost'; FLUSH PRIVILEGES; EXIT; 
  24. Configurar WordPress:
  25. cd /var/www/html/wordpress sudo cp wp-config-sample.php wp-config.php sudo nano wp-config.php 
  26. Edita el archivo wp-config.php con la información de la base de datos que acabas de configurar (nombre de la base de datos, usuario y contraseña).
  27. Configurar permisos:
  28. sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress 
  29. Configurar Apache:
  30. sudo nano /etc/apache2/sites-available/000-default.conf 
  31. Agrega las siguientes líneas dentro de la etiqueta <VirtualHost>:
  32. <Directory /var/www/html/wordpress/> AllowOverride All </Directory> 
  33. Guarda y cierra el archivo. Luego, reinicia Apache:
  34. sudo service apache2 restart 
  35. Acceder a WordPress:
  36. Abre un navegador web y visita http://tu_dirección_IP/wordpress. Sigue el proceso de instalación de WordPress introduciendo la información requerida.

¡Listo! Ahora deberías tener WordPress instalado en tu servidor Ubuntu 22.04. Recuerda que esta es una guía básica y que siempre es recomendable revisar la documentación oficial y considerar la seguridad, como usar certificados SSL para conexiones seguras.

Updated: 2023-12-01 11:40:08

afegir voyager

composer require tcg/voyager

php artisan voyager:install --with-dummy

php artisan voyager:admin joanpuigbertran@gmail.com --create

Updated: 2022-08-26 19:15:27

format json per al dropdown dels formularis de voyager

{
    "default": "tailwind",
    "options": {
        "tailwind": "tailwind",
        "bootstrap": "bootstrap",
        "uikit": "uikit"
    }
}

Updated: 2022-08-26 19:20:04

voyager creacio d'una taula

Inside of your admin panel you can visit Tools->Database and you'll be able to view all your current tables in your database. You may also click on 'Create a New Table' to create a new table in your database. All newly created tables will use the charset defined in your default database connection.

Updated: 2022-08-26 19:20:59

ipconfig

windows 10 averiguar ip Escriviu cmd a la casella de cerca i premeu Enter. Escriu ipconfig i premeu Enter. L'adreça IP de l'ordinador es troba al camp Adreça IPv4.

blockcode

Updated:

wordpress plantilla de pagina

<?php /* Template Name: gallery */
get_header(); 
?>


<?php
get_sidebar();
get_footer();


Updated: 2023-05-21 01:22:52

portar url en wordpress

 <?php echo get_site_url(); ?>/

Updated: 2023-10-21 12:45:32