Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Hoe gebruik ik deze open source php code?

Pagina: 1
Acties:

Vraag


Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
Hey allemaal,

ik ben op zoek naar een text profanity filter en deze heb ik volgens mij gevonden. Het gaat over deze; https://github.com/developerdino/ProfanityFilter

Alleen heb ik moeite met dit werkende te krijgen, de usage ziet er simpel uit, maar mijn php-script geeft een error dat de class "Check" niet gevonden kan worden. In dit volledige pakket zit ook composer.json en dergelijke, alleen weet ik niet meteen hoe ik hiermee weg moet.
EDIT: moet ik uberhaupt dit via composer installeren of kan ik ook gewoon files kopiren?

Hoe gebruik ik zo'n soort open-source software (of maak ik de instellingen daarvoor)?

In mijn eigen PHP-file heb ik bovenaan
code:
1
require __DIR__."/../ProfanityFilter/src/mofodojodino/ProfanityFilter/Check.php";

toegevoegd, maar bij het oproepen van een instantie van die klasse
code:
1
$filterProfanity = new Check();

krijg ik een error: Fatal error: Uncaught Error: Class 'Check' not found in C:\xampp\htdocs\Ugesco\Controller\controller.php:210 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Ugesco\Controller\controller.php on line 210

Kan iemand mij op weg helpen hoe deze open-source software te gebruiken?
Alvast bedankt!

BramVanha wijzigde deze reactie 20-05-2018 18:45 (3%)

Alle reacties


Acties:
  • 0Henk 'm!

  • Evanescent
  • Registratie: september 2001
  • Niet online
Ik moet bekennen dat ik zelf ook nog nooit met Composer gespeeld heb. Maar ik zie dat de namespace van Check.php mofodojodino\ProfanityFilter is, dus wat jij kunt gebruiken is:
PHP:
1
$filterProfanity = new mofodojodino\ProfanityFilter\Check();


Acties:
  • +4Henk 'm!

  • frickY
  • Registratie: juli 2001
  • Laatst online: 23:31
Je hoeft alleen de autoloader van composer te laden, alle classes van alle genstalleerde packages laden dan vanzelf.
PHP:
1
require 'vendor/autoload.php';

Daarna zoals bovenstaand wel de juiste FQN gebruiken.

frickY wijzigde deze reactie 20-05-2018 19:28 (15%)


Acties:
  • 0Henk 'm!
Je hebt composer en de rest totaal niet nodig, het is maar 1 bestandje!
Doe gewoon wat Evanescent zegt en require zelf het bestand.

@frickY je antwoord is goed bedoeld. Echter weet ik uit eerdere posts dat Bram nog op school zit en nat achter de oren qua PHP ;)

DJMaze wijzigde deze reactie 20-05-2018 20:12 (53%)

Maak je niet druk, dat doet de compressor maar


Acties:
  • +6Henk 'm!

  • frickY
  • Registratie: juli 2001
  • Laatst online: 23:31
Des te meer reden het goede voorbeeld te geven; laad je third-party code met composer, en maak niet zelf een willekeurig kopietje.

Nu is het 1 file. Na een volgende update, die misschien wel een cruciale.bug fixt,. misschien niet meer.

Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
quote:
frickY schreef op zondag 20 mei 2018 @ 20:41:
Des te meer reden het goede voorbeeld te geven; laad je third-party code met composer, en maak niet zelf een willekeurig kopietje.

Nu is het 1 file. Na een volgende update, die misschien wel een cruciale.bug fixt,. misschien niet meer.
Klopt, maar voor de eenvoud ga ik het bij het kopietje houden.. :p

Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
quote:
Evanescent schreef op zondag 20 mei 2018 @ 19:02:
Ik moet bekennen dat ik zelf ook nog nooit met Composer gespeeld heb. Maar ik zie dat de namespace van Check.php mofodojodino\ProfanityFilter is, dus wat jij kunt gebruiken is:
PHP:
1
$filterProfanity = new mofodojodino\ProfanityFilter\Check();

Maar hoe komt het dan, als ik deze file al require, dat deze de Check() niet herkent?

Acties:
  • 0Henk 'm!

  • Evanescent
  • Registratie: september 2001
  • Niet online
quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:25:
[...]


Maar hoe komt het dan, als ik deze file al require, dat deze de Check() niet herkent?
Dat zeg ik, de file gebruikt een eigen name space:
PHP:
1
namespace mofodojodino\ProfanityFilter;

Dus de class Check() bestaat enkel in die name space.
quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:24:
Klopt, maar voor de eenvoud ga ik het bij het kopietje houden.. :p
Let op dat hij ook de config.php include. Dus je kunt beter een clone maken van het project:

git clone https://github.com/developerdino/ProfanityFilter.git

Evanescent wijzigde deze reactie 20-05-2018 22:28 (40%)


Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
quote:
Evanescent schreef op zondag 20 mei 2018 @ 22:26:
[...]

Dat zeg ik, de file gebruikt een eigen name space:
PHP:
1
namespace mofodojodino\ProfanityFilter;

Dus de class Check() bestaat enkel in die name space.

[...]

Let op dat hij ook de config.php include. Dus je kunt beter een clone maken van het project:

git clone https://github.com/developerdino/ProfanityFilter.git
Ah, ik zie dat nu inderdaad, had dit gelezen als gewoon het pad. Ik probeer dit even.
Moet ik dan ook nog bovenaan in mijn PHP-file het volgende zetten?
code:
1
2
require __DIR__."/../ProfanityFilter/src/mofodojodino/ProfanityFilter/Check.php";
require __DIR__."/../ProfanityFilter/config/profanities.php";

Of is het reeds aanspreken van de namespace reeds voldoende?

Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
Ik heb de config en de src gekopieerd, en het lijkt nu te werken. Wel is er nog een klein probleem. Het woord "ass" zit erin om eruit gefilterd te worden, maar als ik dan in de tekst bvb schrijf "Hasselt" dan ziet hij dit ook als slecht taalgebruik.

Dit ligt waarschijnlijk puur aan het script?

Acties:
  • 0Henk 'm!

  • Evanescent
  • Registratie: september 2001
  • Niet online
quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:35:
Ik heb de config en de src gekopieerd, en het lijkt nu te werken. Wel is er nog een klein probleem. Het woord "ass" zit erin om eruit gefilterd te worden, maar als ik dan in de tekst bvb schrijf "Hasselt" dan ziet hij dit ook als slecht taalgebruik.

Dit ligt waarschijnlijk puur aan het script?
Ja, dat is een feature.

Acties:
  • +1Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
quote:
Ik zoek even uit of ik dit kan fixen. Alvast bedankt om de opmerking over de namespace te maken!

Acties:
  • +3Henk 'm!

  • CurtPoindexter
  • Registratie: februari 2017
  • Niet online
Jongens alsjeblieft, composer is zo makkelijk dat zelfs deze oude rot het snapt. Dus als jullie er niet uit komen, nat achter de oren of niet, ben je PHP niet eens waardig.

Ga nou allejezus niet zelf klootviolen maar gebruik gewoon Composer en autoload.php.

Acties:
  • +1Henk 'm!

  • BCC
  • Registratie: juli 2000
  • Laatst online: 20:31
https://thedailywtf.com/articles/The-Clbuttic-Mistake-

BCC wijzigde deze reactie 20-05-2018 22:40 (38%)


Acties:
  • 0Henk 'm!
@BCC hehe maar goed dat ik niet composer gebruik en deze f-up clbutt klbuttieker.
De clbutt bevat idd fouten :)

Goed nu weer de film verder kijken met de bbutt op 10 in de woofer

DJMaze wijzigde deze reactie 21-05-2018 02:36 (52%)

Maak je niet druk, dat doet de compressor maar


Acties:
  • +3Henk 'm!

  • RobIII
  • Registratie: december 2001
  • Laatst online: 22:59

RobIII

Moderator Devschuur

^ Romeinse 3 ja!

quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:35:

Dit ligt waarschijnlijk puur aan het script?
Dat kan goed zijn. Wat zegt de documentatie? Al eens bij de issues gekeken? Een issue aangemaakt? Wat doe je nou eigenlijk zlf behalve hier steeds terugkomen vragen of we je handje willen vasthouden en je opdracht (half) voor je maken?

Nogmaals: we willen je best helpen door je in de juiste richting te sturen en we kunnen je heus wel wat hints en tips geven (zie mijn vorige post die je, klaarblijkelijk, een eind op weg geholpen heeft). Maar als je bij elke scheet zodra je 't even niet meer snapt naar ons terug komt rennen: a) leer je zlf niets en b) worden wij je al snel beu. Onderneem nou zlf eerst eens iets; dan kun je ook hier komen met je vraag en zeggen: "kijk, dit heb ik al geprobeerd, maar dat werkt niet". Wat je nu in je topicstart laat zien is: "kijk, ik heb wat met require lopen rommelen, want dat ken ik, maar eigenlijk ben ik gewoon te lam om even op te zoeken wat composer is en om de documentatie daarvan door te nemen". Je bent gewoon in 't wilde weg dingen aan 't proberen i.p.v. een stapje achteruit te doen en proberen het grotere plaatje te zien. "Kan iemand mij op weg helpen hoe deze open-source software te gebruiken?" Jazeker! How about de makers van die software en diens documentatie! Veel beter dan dat zul je 't niet vinden / krijgen. Heb je na 't lezen ervan nog concrete vragen over die niet beantwoord worden in die documentatie en na een google-tochtje ook nog onbeantwoord blijven dan kun je hier prachtige vragen stellen zonder dat we die kunnen beantwoorden met een enkel google linkje of het gevoel krijgen je aan 't handje te moeten houden ;)

Verder; je weet dat het internet niet ophoudt bij die ene class h? Er zijn tientallen, waarschijnlijk honderden, alternatieven. Kijk gerust eens verder voordat je dingen gaat "fixen" of alsnog het wiel opnieuw gaat uitvinden.

RobIII wijzigde deze reactie 21-05-2018 01:26 (77%)

Flat earth is not theory, it is a diagnosis.

Over mij


Acties:
  • 0Henk 'm!

  • Josk79
  • Registratie: september 2013
  • Nu online
Deze heeft bijv. een fullWords optie: http://banbuilder.com

Blijft sowieso een lastig iets, Profanity filters... in veel gevallen hangt het van de context af of iets 'Profane' is.

Acties:
  • 0Henk 'm!

  • Cartman!
  • Registratie: april 2000
  • Niet online
quote:
BramVanha schreef op zondag 20 mei 2018 @ 18:39:
Hoe gebruik ik zo'n soort open-source software (of maak ik de instellingen daarvoor)?
Met Composer dus zoals n paar keer gezegd is... waarom blijf je dit negeren? Elke taal heeft zo zo'n dependency manager en daar om heen willen werken is gewoon heel erg onpraktisch. Lees ook deze pagina over namespaces eens.

Acties:
  • 0Henk 'm!

  • Josk79
  • Registratie: september 2013
  • Nu online
@BramVanha, waar reageer je op? TS heeft er voor gekozen de files te includen zonder Composer en dat is hem gelukt, dus dat is in dit geval geen issue meer.

Acties:
  • 0Henk 'm!

  • burne
  • Registratie: maart 2000
  • Niet online
quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:40:
Die pagina vind ik precies niet..
In een poging van al die obscene woorden af te komen heeft iemand een keer 'ass' vervangen door het iets minder obscene 'butt'. Maar: dat moet je wel goed doen, anders bega je een clbuttic mistake.

(wel stom dat je niet kunt googlen op 'clbutt'. Nouja, het kan wel, maar je krijgt alleen maar hits voor 'class'. Alsof Google een reverse dom-obscenityfilter-filter gebruikt..)

I don't like facts. They have a liberal bias.


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: december 2001
  • Laatst online: 22:59

RobIII

Moderator Devschuur

^ Romeinse 3 ja!

quote:
burne schreef op maandag 21 mei 2018 @ 12:23:
(wel stom dat je niet kunt googlen op 'clbutt'. Nouja, het kan wel, maar je krijgt alleen maar hits voor 'class'. Alsof Google een reverse dom-obscenityfilter-filter gebruikt..)
Huh :?
quote:
BramVanha schreef op zondag 20 mei 2018 @ 22:40:
[...]


Die pagina vind ik precies niet..
http://archive.is/em4i4

RobIII wijzigde deze reactie 21-05-2018 13:25 (20%)

Flat earth is not theory, it is a diagnosis.

Over mij


Acties:
  • 0Henk 'm!

  • BramVanha
  • Registratie: maart 2016
  • Laatst online: 04-08 16:28
Hey, en bedankt allen voor de duidelijke reacties.

Ik probeer in het vervolg zelf wat meer onderzoek te doen in plaats van hier meteen te posten. Meestal raak ik wat in paniek als het allemaal niet lijkt te lukken omdat ik dacht dat ik het op de goede manier aan het doen was.

Ik heb het op dit moment opgelost met een kopietje te nemen, en dit omdat ik nog andere dingen moet afkrijgen voor mijn deadline, maar ik kijk deze composer zeker in aangezien het volgens de meerderheid een echte must is voor PHP.

Wel lees ik even wat meer over banbuilder, aangezien deze een fullWords-optie heeft.

Acties:
  • 0Henk 'm!

  • burne
  • Registratie: maart 2000
  • Niet online

I don't like facts. They have a liberal bias.


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: december 2001
  • Laatst online: 22:59

RobIII

Moderator Devschuur

^ Romeinse 3 ja!

quote:
Dat was 't punt niet ;) Je kunt er dus prima wl op zoeken ;) :>

Flat earth is not theory, it is a diagnosis.

Over mij


Acties:
  • +1Henk 'm!
quote:
BramVanha schreef op maandag 21 mei 2018 @ 13:52:
Ik probeer in het vervolg zelf wat meer onderzoek te doen in plaats van hier meteen te posten.
.....
Wel lees ik even wat meer over banbuilder, aangezien deze een fullWords-optie heeft.
Ik snap niet dat je bezig bent met profanity filters als je eigenlijk net 1 week weet wat PHP doet.

Bijna elke profanity filter werkt namelijk niet. Neem nou eens het voorbeeld van "ass" in unicode:
  • het is een engels woord
  • a$$
  • a55
  • a = AĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧɐᴀᶏḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặÅAaΆΑάἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏὰάᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼАӐӑӒӓаα
  • s = SŚśŜŝŞşſȘșȿʂᵴᶊṠṡṢṣṤṥṦṧṨṩẛſtstSsѕЅ
  • kont
  • reet
  • anus
  • aars
  • anu$
  • bil
  • billen
  • bips
  • achterste
  • derrire
  • zitvlak
  • poeper
  • krent
  • toges
  • butt
  • buttocks
  • etc. noem het maar op en in welke taal dan ook
Noem eens 1 profanity filter die alle versies "netjes" maakt ;)

krent: kont, zuing met geld, gedroogde druif
achterste: kan ook in context iets anders zijn "hij is de achterste in de rij"

Het is ook niet makkelijk als je weet hoe groot https://unicode.org/ v10 is, en dan moet je ook nog de bytes omzetten naar UTF-8 en een mapping maken 8)7

De enige profanity filter die werkt heet: human :+

DJMaze wijzigde deze reactie 21-05-2018 20:03 (13%)

Maak je niet druk, dat doet de compressor maar


Acties:
  • +2Henk 'm!

  • RobIII
  • Registratie: december 2001
  • Laatst online: 22:59

RobIII

Moderator Devschuur

^ Romeinse 3 ja!

quote:
DJMaze schreef op maandag 21 mei 2018 @ 19:51:
Ik snap niet dat je bezig bent met profanity filters als je eigenlijk net 1 week weet wat PHP doet.
Ik snap dan juist wel degelijk dat je na 1 week je heil zoekt in third party libraries i.p.v. proberen het wiel zelf uit te vinden :?
quote:
DJMaze schreef op maandag 21 mei 2018 @ 19:51:
Bijna elke profanity filter werkt namelijk niet. Neem nou eens het voorbeeld van "ass" in unicode:
  • het is een engels woord
  • a$$
  • a55
  • a = AĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧɐᴀᶏḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặÅAaΆΑάἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏὰάᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼАӐӑӒӓаα
  • s = SŚśŜŝŞşſȘșȿʂᵴᶊṠṡṢṣṤṥṦṧṨṩẛſtstSsѕЅ
  • kont
  • reet
  • anus
  • aars
  • anu$
  • bil
  • billen
  • bips
  • achterste
  • derrire
  • zitvlak
  • poeper
  • krent
  • toges
  • butt
  • buttocks
  • etc. noem het maar op en in welke taal dan ook
Ik zeg zker niet dat de filter die @BramVanha gevonden heeft een goeie is, maar heb je de README al eens bekeken? Een deel van wat je hier opsomt beweert het ding wel degelijk op te lossen? (Of dat zo is, is een tweede). Dus tekens met diakrieten en allerlei 'm|a|n|i|e|r|e|n' om het filter te pogen te omzeilen zou het ding moeten voorkomen (again: dat valt nog te bezien). En allerlei variaties die jij nu op "ass" verzint is natuurlijk gewoon een kwestie van de lijst met 'bad words' aanvullen. Evenals je argument "het is engels"; ja, d'uh 8)7 Dan maak je een NL woordenlijst. Of je traint een neural-net om bad words in willekeurige talen op te pikken. En alles ertussenin.

Again; die library die TS heeft gevonden is echt maar een mager karig ding, maar dat neemt niet weg dat er geheid (vele) betere zijn. Vraag is: wat is het doel van TS? De 'gelegenheidsvloeker' eruit pikken of een horde pubers die er sport van maken op alle mogelijke manieren dat filter te omzeilen de mond snoeren?
quote:
DJMaze schreef op maandag 21 mei 2018 @ 19:51:
Noem eens 1 profanity filter die alle versies "netjes" maakt ;)
De vraag is of dat de requirement is of dat 5% ook goed genoeg is.
quote:
DJMaze schreef op maandag 21 mei 2018 @ 19:51:
De enige profanity filter die werkt heet: human :+
En laat dat nou net de enige zijn die je kunt oplappen na 't doorpluizen van 5TB aan data dus misschien moeten we toch even verder kijken en creatiever zijn/worden ("out of the box" denken), beter ons best doen of genoegen nemen met een niet-100% success rate. Er zijn legio mogelijkheden en zolang TS niet aangeeft wat de minimum success-rate is of wat het doel is of wat de opdracht behelst is deze hele discussie vrij zinloos (en offtopic) ;)

RobIII wijzigde deze reactie 21-05-2018 21:08 (10%)

Flat earth is not theory, it is a diagnosis.

Over mij


Acties:
  • 0Henk 'm!
quote:
RobIII schreef op maandag 21 mei 2018 @ 21:02:
Ik snap dan juist wel degelijk dat je na 1 week je heil zoekt in third party libraries i.p.v. proberen het wiel zelf uit te vinden :?
Natuurlijk!
Ik had het anders moeten formulieren: waarom moet dit van school als je net 1 week les hebt gehad in PHP?

My bad.

Maak je niet druk, dat doet de compressor maar

Pagina: 1


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S9 Dual Sim Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True