А зачем strlen трогать? Он ведь только считает кол-во символов.Затем, что он неправильно считает длину мультибайтовых строк. Напрямую к проблеме это, скорее всего, не относится, но если уж делать, то нормально.
То есть задача такая, чтобы контроллеры можно было в любой момент подменить на APiКонтроллерыВот для этого и подойдут Jobs. В html-контроллере вы обрабатываете запрос (получаете данные из форм) и выполняете SomeJob. А потом создаете отдельный контроллер (или консольную команду), в которой точно так же обрабатывается ввод, подготавливаются аргументы для SomeJob и она выполняется. В итоге бизнес-логика не дублируется.