Caso você esteja pensando em criar um pacote em php, este guia pode ajuda-lo. Principalmente se este pacote for open source.
Para conseguir alcançar seu objetivo, recomendo que você estude alguns pontos antes de avançar:
| create table livros ( | |
| id integer primary key auto_increment not null, | |
| nome varchar(100) not null, | |
| data_de_lancamento date not null, | |
| autor_id integer not null, | |
| preco decimal(10,2) not null | |
| ); | |
| create table autores ( | |
| id integer primary key auto_increment not null, | |
| nome varchar(100) not null |
| <template> | |
| </template> | |
| <script> | |
| export default { | |
| data() { | |
| return { | |
| registros: [], | |
| registro: { |
| <template> | |
| <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" | |
| aria-labelledby="exampleModalLabel" aria-hidden="true"> | |
| <div class="modal-dialog modal-lg" role="document"> | |
| <div class="modal-content"> | |
| <div class="modal-header"> | |
| <h5 class="modal-title" id="exampleModalLabel"> | |
| Editar Empresa | |
| </h5> | |
| <button type="button" class="close" data-dismiss="modal" |
| import { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms'; | |
| import { UserService } from '../services/user.service'; | |
| import { Observable } from 'rxjs/Observable'; | |
| import { catchError, map, switchMap } from 'rxjs/operators'; | |
| import { of, timer } from 'rxjs'; | |
| export function uniqueUsernameValidator(userService: UserService): AsyncValidatorFn { | |
| return (control: AbstractControl): Observable<ValidationErrors | null> => { | |
| return timer(500).pipe(switchMap(() => { |